在列表列表中查找项目

时间:2016-10-24 17:24:02

标签: c# linq list

我有一个客户列表,其中有一个名为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"));

谢谢!

3 个答案:

答案 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”的所有客户。