【发布时间】:2018-01-10 20:08:42
【问题描述】:
假设我的查询返回一个 DataTable,它是一个电子邮件地址列表,一个名为“email”的 varchar 列;这些电子邮件被授权做某事。
jane@doe.com
mike@foo.com
donald@duck.com
当前登录的用户是harry@houdini.com。他没有被授权。他不在名单上
是否可以使用 Linq 迭代 DataRows 并返回布尔值 false?
或者返回一个null或Nothing或空的对象?
本质上,我想知道Linq版本的
Authorized = List.Contains( "harry@houdini.com")
我真的很想知道如何在 C# 和 VB 中做到这一点。
谢谢
【问题讨论】:
-
使用
Any()方法检查是否有任何项目与您的谓词匹配。 -
您展示的代码是解决该问题的有效 LINQ 解决方案。它按原样编译和运行。
-
@SLaks:我收到一个错误,
'Any' is not a member of EnumerableRowCollection(Of DataRow).我想我可能导入了错误的库(DataSetExtensions)?不,System.Data.DataTableExtensions 有同样的错误。 -
你导入了
System.Linq吗?
标签: c# vb.net linq asenumerable