我正在使用LINQ过滤我的列表,并且仅包含在某个字符串字段中实际具有数据的值。
我正在寻找以下特定值:
filteredProductsList = filteredProductsList.FindAll(s => s.repeatable.Equals("1"));
但是,如何更改它,以便它查找字符串中包含值的任何内容。可以是“”或为null,这些是我要删除的值。
答案 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"));