使用LINQ检查列表中是否为null或空白的任何内容

时间:2018-12-17 14:38:13

标签: c# linq

我正在使用LINQ过滤我的列表,并且仅包含在某个字符串字段中实际具有数据的值。

我正在寻找以下特定值:

 filteredProductsList = filteredProductsList.FindAll(s => s.repeatable.Equals("1"));

但是,如何更改它,以便它查找字符串中包含值的任何内容。可以是“”或为null,这些是我要删除的值。

3 个答案:

答案 0 :(得分:2)

filteredProductsList = filteredProductsList.Where
  (s => !string.IsNullOrEmpty(s.repeatable));

答案 1 :(得分:1)

您不需要LINQ,可以使用List.RemoveAll()-它删除所有与指定谓词定义的条件匹配的元素。详细信息here

filteredProductsList.RemoveAll(s => string.IsNullOrWhiteSpace(s.repeatable));

答案 2 :(得分:0)

此外,您可以在查询中使用 object.Equals ,它将修复null检查

object.Equals(objA, objB)

os过滤器将是这样

filteredProductsList = filteredProductsList.FindAll(s => object.Equals(s.repeatable, "1"));