从List中检索值

时间:2016-12-19 13:21:32

标签: vb.net

我想在包含属性PartNamePartId的列表中存储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})

1 个答案:

答案 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)