假设我有这段代码:
myList = myList.Where(x => x[0] > .0005 || x[1] > .0005 || x[2] > .0005).ToList();
必须有一种方法可以在可以忽略的范围内做到这一点吗?
我正在思考
的内容myList = myList.EnumerableRange(0, x.Count).Where(i => x[i] > .0005)
但这似乎不起作用。我缺少什么/有更好的方法吗?
答案 0 :(得分:3)
您可以使用LINQ方法Any
。
myList = myList.Where(x => x.Any(d => d > .0005)).ToList();
我假设您要检查x
中的所有项目。否则,您将不得不使用LINQ扩展Take
和Skip
来获取数组的切片。还假设x
是IEnumerable<T>
。请注意,如果您希望x
为null
,则必须处理它
答案 1 :(得分:1)
您仍然需要执行或等效 - 多个Where
子句有效地进行AND运算:
yList = myList.Where(x => Enumerable.range(0, x.Count).Any(i => x[i] > .0005)).ToList();