Vb.net 如何使用。在通用列表中的何处
我有一个列表(MyType),我想使用LINQ获得列表的子集 在MyType上有一个名为AccountNumber的字段。我能用LINQ这样说吗Vb.net 如何使用。在通用列表中的何处,vb.net,linq,Vb.net,Linq,我有一个列表(MyType),我想使用LINQ获得列表的子集 在MyType上有一个名为AccountNumber的字段。我能用LINQ这样说吗 Dim t As List(Of MyType) t = GetMyTypes() t = t.Where(AccountNumber = "123") 谢谢你就快到了。的参数Where需要是一个函数,因此您的代码应该如下所示: Dim t As List(Of MyType) t = GetMyTypes() Dim result = t.Wher
Dim t As List(Of MyType)
t = GetMyTypes()
t = t.Where(AccountNumber = "123")
谢谢你就快到了。
的参数Where
需要是一个函数,因此您的代码应该如下所示:
Dim t As List(Of MyType)
t = GetMyTypes()
Dim result = t.Where(Function(x) x.AccountNumber = "123")
或者,您可以使用详细的LINQ语法:
Dim result = From t In GetMyTypes() Where t.AccountNumber = "123"
返回的数据类型不是
列表(MyType)
,而是IEnumerable(MyType)
,因此不能直接将其分配给声明为列表(MyType)
的变量。如果要创建列表,可以使用result.ToList()
对其进行“转换”。这也会导致。不确定是否可以添加到此。。。在.Where()中添加.First不是更好吗?@Feign:这取决于您想要实现什么:如果您想要帐户号为123
的第一个条目,请使用First
(不过,在这种情况下,添加Order By
子句可能会有用)。如果您想要账号为123
的所有条目的列表,请使用ToList
。