我有一个客户列表,其中有一个名为series的客户名单。我的系列可以是null
或包含数据。
如何查找与系列值匹配的任何项目。我尝试了下面的两个方法但没有成功。
results = customers.Where(d => d.Series.Any(s => s.Contains("item")));
results = customers.Where(d => d.Series.Count() != 0).Where(s => s.Series.Contains("item"));
谢谢!
答案 0 :(得分:5)
我会选择:
Sink.foreach
如果您希望results = customers.Where(d => d.Series!= null && d.Series.Any(s => s.Contains("item")));
中的元素实际包含字符串Series
或
"item"
如果您希望results = customers.Where(d => d.Series!= null && d.Series.Any(s => s.Equals("item")));
中的元素与Series
完美匹配。
答案 1 :(得分:3)
也许这就是你所期望的,
//For case sensitive
var results = customers.Where(d => d.Series != null && d.Series.Contains("item")));
OR
//For case insensitive
var results = customer.Where(d => d.Series != null && d.Series.Any(x => x.Equals("item", StringComparison.CurrentCultureIgnoreCase)));
答案 2 :(得分:2)
results = customers.Where(d => d.Series != null && d.Series.Any(s => s == "item"));
这将返回其系列集合包含值“item”的所有客户。