Подскажите пожалуйста, как правильно удалить из коллекции ключ со значением. Читал, что нужно использовать заместо For Each просто For, но так и не понял как. Пример:
| Код | Public Class Form1
Private Dictionary As New Dictionary(Of String, String)
Private Sub Form1_Load(sender As System.Object, e As System.EventArgs) _ Handles MyBase.Load ListView1.Items.Add("Имя1") ListView1.Items(0).SubItems.Add("A") ListView1.Items.Add("Имя2") ListView1.Items(1).SubItems.Add("B") Dictionary.Add("Имя1", "А") Dictionary.Add("Имя2", "B") Dictionary.Add("Имя3", "А") End Sub
Private Sub Button1_Click(sender As System.Object, e As System.EventArgs) _ Handles Button1.Click For Each pair In Dictionary Dim name As String = pair.Key Dim group As String = pair.Value Dim lvi As New ListViewItem For i As Integer = 0 To Dictionary.Count - 1 lvi = ListView1.FindItemWithText(name, True, 0) If Not lvi Is Nothing Then If group = "A" Then ListView1.Items().Item(lvi.Index).ForeColor = Color.RoyalBlue ElseIf group = "B" Then ListView1.Items().Item(lvi.Index).ForeColor = Color.Silver End If Else Dictionary.Remove(name) ' как удалить из коллекции без исключения? End If Next Next ' Коллекция была изменена; невозможно выполнить операцию перечисления. End Sub
End Class
|
|