我想在包含属性PartName
和PartId
的列表中存储100个项目。
然后,我想在PartName
上搜索,例如使用主席一词。从那以后我想要检索PartId
的值。
最后,我最终会得到PartId
125 。
我该怎么做?
代码:
Dim parts As New List(Of Intialization)()
' Add parts to the list.
parts.Add(New Intialization() With {.PartName = "chair",
.PartId = 125})
答案 0 :(得分:0)
您可以通过多种方式实现这一目标,我将向您展示一些LINQ解决方案:
Dim partToSearch as String = "Chair"
Dim partId as Integer = -1
Dim init = parts.Where(Function(p) p.PartName=partToSearch).FirstOrDefault()
If init IsNot Nothing Then
partId = init.PartId
End If
或者:
Dim partToSearch as String = "Chair"
Dim partId = parts.Where(Function(p) p.PartName=partToSearch).Select(Function(v) v.PartId).FirstOrDefault()
或者您创建了一个像@the_lotus这样的字典:
Dim partIDsByName as Dictionary(Of String, Integer)
partIDsByName = parts.ToDictionary(Function(k) k.PartName, Function(v) v.PartId)
Dim partToSearch as String = "Chair"
Dim partId = partIDsByName(partToSearch)