Как можно итерации в словаре в vb.net?
Я создаю словарь
Dim ImageCollection As New Dictionary(Of ConvensionImages, Integer)
и я заполняю это
For Each dr As DataRow In dt.Rows
Dim obj As New ConvensionImages
obj.ImageID = dr("ID")
obj.Name = dr("Name")
obj.Description = dr("Description")
obj.CategoryID = dr("CategoryID")
obj.CategoryName = dr("CategoryName")
obj.CategoryDescription = dr("CatDescription")
obj.EventID = dr("EventID")
obj.Image = dr("img")
obj.DownloadImage = dr("DownLoadImg")
ImageCollection.Add(obj, key)
key = key + 1
теперь я хочу искать идентификатор изображения и ключ, как я могу это сделать
Ответы
Ответ 1
Сделайте Integer
в качестве ключа для словаря:
Dim ImageCollection As New Dictionary(Of Integer, ConvensionImages)
Измените ImageCollection.Add(obj, key)
на ImageCollection.Add(key, obj)
И используйте этот цикл:
For Each kvp As KeyValuePair(Of Integer, ConvensionImages) In ImageCollection
Dim v1 As Integer = kvp.Key
Dim v2 As ConvensionImages = kvp.Value
'Do whatever you want with v2:
'If v2.ImageID = .... Then
Next
Ответ 2
Вы также можете запрограммировать этот путь:
For Each iKey As Integer In ImageCollection.Keys
Dim value As ConvensionImages = ImageCollection(iKey)
'...
Next
Это очень быстрый и простой способ.