Linq 检查一组 DataRow 中是否有 NULL?
我有一组 DataRows,我想检查这些行中的任何字段是否有 NULL 值。我在下面想出了这个,但我不确定,因为我正在嵌套一个 ALL。
result.AsEnumerable().AsQueryable().All(o => o.ItemArray.All(i=>i == DBNull.Value))
很难说,因为我不能在 lambda 中放置“手表”。
I have a set DataRows and I want to check if any of the fields in any of those rows has a NULL value in it. I came up with this below, but I'm not sure because I'm nesting an ALL.
result.AsEnumerable().AsQueryable().All(o => o.ItemArray.All(i=>i == DBNull.Value))
Hard to tell because I can't put a "watch" in lambdas.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
实际上,您需要使用
Any
(在您的代码中,如果所有值为 null,您将返回 true),并且AsQueryable()
在这种情况下是无用的。然后,如果您需要包含某些值为 null 的所有行的列表,只需执行以下操作:
PS
我还添加了
null
检查以更安全,但如果您确定只有DBNull.Value
,您可以将其删除。Actually you need to use
Any
(in your code you will return true if All values are null) andAsQueryable()
is useless in this case.Then, If you need a list of all rows with some value null, just do the following:
P.S.
I also added a
null
check to be more safe, but if you are sure to have onlyDBNull.Value
, you can remove it.不确定这是否是正确的答案。我对 Linq 也很陌生,但我相信你可以做这样的事情;
这将返回一个项目列表,如果没有任何项目,则返回 null。不确定你是否也可以嵌套它,但不明白为什么它不可能
Not sure if this is the correct answer. I'm also rather new to Linq, but i believe you can do something like this;
This will return an list of items or null if there aren't any. Not sure if you can also nest it, but don't see why it wouldn't be possible