[英]Filter datatable with Linq by a decimal list in c#
我有一个数据表,我想按一个值过滤。 这正在工作:
var result = datatable.AsEnumerable()
.Where(r => r.Field<decimal?>("decimal_col") == 1);
现在,我想按小数列表进行过滤。 我试图放入contains
但是它不起作用。 这是清单:
var list = new List<decimal>() { 8, 3, 2, 1 };
这就是我想要的,但是没有用:
var result = datatable.AsEnumerable()
.Where(r => r.Field<decimal?>("decimal_col").Contains(list));
有什么帮助吗?
您需要使用list.Contains()。 语法为List<T>.Contains(item)
(请注意,在OP中的查询中,它正确地指定为item.Contains(list))
var result = datatable.AsEnumerable()
.Where(r => list.Contains(r.Field<decimal?>("decimal_col")));
你可以阅读更多关于List.Contains的语法这里
您正在检查值是否 “包含” 列表 。 相反。 该列表将“包含” 值 :
list.Contains(r.Field<decimal?>("decimal_col"))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.