作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我有一个 List(Of 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.Where(Function(x) x.AccountNumber = "123")
或者,您可以使用详细的 LINQ 语法:
Dim result = From t In GetMyTypes() Where t.AccountNumber = "123"
返回的数据类型不是 List(Of MyType)
而是 IEnumerable(Of MyType)
,因此不能直接将其分配给声明为 的变量>列表(MyType)
。如果您想创建一个列表,可以使用result.ToList()
“转换”它。这也会导致 list to be evaluated immediately .
关于vb.net - 如何使用通用列表中的 .Where,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4197899/
我是一名优秀的程序员,十分优秀!