gpt4 book ai didi

c# - Filer DataTable 排除 DBNull.Value

转载 作者:行者123 更新时间:2023-12-04 07:08:22 25 4
gpt4 key购买 nike

我从 excel 文件中收到一个数据表,第一列中的数据如下所示:11129DBNull.Value2929929020DBNull.Value29020我正在使用 LINQ 来选择 distict,如果没有如下所示的 DBNull.Value 值,它就可以工作。

albumIds = dt.AsEnumerable().Select(p => (int)p.Field<double>("F1")).Distinct().ToArray();
但如果 DBNull.Value现在代表空的 excel 单元格我得到转换错误。
我如何过滤掉那些 DBNull.Value从我的结果集中?
谢谢

最佳答案

正如杰里米的回答所暗示的那样,如果您引用了 System.Data.DataSetExtensions.dll ,您将获得一些使用 LINQ 处理数据集和数据表的方便的扩展方法。具体来说,您可以使用字段 <int?> () 方法将可能包含 DBNull 的整数列转换为可空整数列...

albumIds = dt.AsEnumerable().Select(row => row.Field<int?>("F1"))
.Where(val => val.HasValue)
.Select(val => val.Value)
.Distinct()
.ToArray();

关于c# - Filer DataTable 排除 DBNull.Value,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/762000/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com