Удаление одинаковых слов в двух ListBox - Visual Basic .NET

Формулировка задачи:

Доброго всем времени суток! Есть предложение:"У серьезных последствий ни для кого (ни для сервисов, ни для пользователей" они пословно помещенны в листбокс1 и есть листбокс 2 в котором отсутствуют слова - "последствий ни для кого" Ищу различие между этими двумя листбоксами.
 
   Private Sub Button2_Click(sender As System.Object, e As System.EventArgs) Handles Button2.Click
        ListBox1.Items.Add("У")
        ListBox1.Items.Add("серьезных")
        ListBox1.Items.Add("последствий")
        ListBox1.Items.Add("ни")
        ListBox1.Items.Add("для")
        ListBox1.Items.Add("кого")
        ListBox1.Items.Add(" (ни")
        ListBox1.Items.Add("для")
        ListBox1.Items.Add("сервисов,")
        ListBox1.Items.Add("ни")
        ListBox1.Items.Add("для")
        ListBox1.Items.Add("пользователей")
 
        ListBox2.Items.Add("У")
        ListBox2.Items.Add("серьезных")
        ListBox2.Items.Add("кого")
        ListBox2.Items.Add(" (ни")
        ListBox2.Items.Add("для")
        ListBox2.Items.Add("сервисов,")
        ListBox2.Items.Add("ни")
        ListBox2.Items.Add("для")
        ListBox2.Items.Add("пользователей")
 
        For i = 0 To ListBox2.Items.Count - 1
            Dim searchString As String = ListBox2.Items(i) 
            If searchString <> String.Empty Then
                ' Find the item in the list and store the index to the item.
                Dim index As Integer = ListBox1.FindString(searchString)
                ' Determine if a valid index is returned. Select the item if it is valid.
                If index <> -1 Then
                    ListBox1.SetSelected(index, True)
                    ListBox1.Items.RemoveAt(index)
                Else
                    ' MessageBox.Show("The search string did not match any items in the ListBox")
                End If
            End If
        Next
    End Sub
код взят у майкрософа (ссылку давать боюсь...не знаю можно ли) и переделан. В результате работы кода, по моему мнению, я должен был получить последовательность слов - "последствий ни для кого", но получаю "последний", "кого, "ни", "для" Вопрос: Почему в результате работы кода выдается "последний", "кого", "ни", "для" т.е перепутан порядок слов?

Код к задаче: «Удаление одинаковых слов в двух ListBox - Visual Basic .NET»

textual
Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click
    For Each v As String In ListBox2.Items
        ListBox1.Items.Remove(v)
    Next
End Sub

7   голосов, оценка 4.000 из 5


СОХРАНИТЬ ССЫЛКУ