如何解决vb.net-linq-过滤列表对象
| 我正在使用LINQ-VB.Net 我想通过在哪里传递String对象来过滤我的List对象。Dim _permittedTransactionCodes As List(Of String) = Nothing \'String object
它填充了数据。
Dim tap100transCodeInfos As List(Of Tap100transCodeInfo) = _dal.GetActiveTap100transCodeByHdrScreenCde(UCase(screenId),\"TRAN_CDE\")
我正在尝试以下操作,但未获得过滤结果
tap100transCodeInfos.Where(Function(x) _permittedTransactionCodes.Contains(x.TranCde))
任何想法?
谢谢
解决方法
确保将“ 3”功能的输出分配给变量。 “ 3”不过滤现有列表,但返回一个新的过滤列表。
Dim result As IEnumerable(Of Tap100transCodeInfo) = _
tap100transCodeInfos.Where(Function(x) _
_permittedTransactionCodes.Contains(x.TranCde) _
)
然后,result
应具有过滤的结果。
编辑:
Where
返回IEnumerable(Of T)
,因此,如果要将输出分配给相同的变量,则需要在语句末尾附加.ToList()
(或将tap100transCodeInfos
从开头定义为IEnumerable(Of Tap100transCodeInfo)
)。
tap100transCodeInfos = _
tap100transCodeInfos.Where(Function(x) _
_permittedTransactionCodes.Contains(x.TranCde) _
).ToList()
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。