38

我创建了一个字典

    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

现在我想搜索 ImageID 和 key 我该怎么做

4

2 回答 2

74

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  
于 2013-09-05T06:12:57.977 回答
18

你也可以这样循环:

For Each iKey As Integer In ImageCollection.Keys
    Dim value As ConvensionImages = ImageCollection(iKey)
    '...
Next

这是非常快速和简单的方法。

于 2013-09-05T07:20:49.877 回答