我有一个bool数组和一个List:
bool[ ] searchable
List<T> allData
我想做的就像以下
allData.Where(c => searchable[0] && c[0].Contains("das") ||
searchable[1] && c[1].Contains("das") ||
searchable[2] && c[2].Contains("das")
...
);
如何构建此LINQ函数?
答案 0 :(得分:5)
使用提供过滤回调的Where
this overload,其中包含要考虑的元素的索引以及元素本身:
var results = allData.Where((c, i) => searchable[i] && c.Contains("das"));