LINQ通用列表声明

时间:2013-05-13 08:42:34

标签: linq

我有一个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函数?

1 个答案:

答案 0 :(得分:5)

使用提供过滤回调的Where this overload,其中包含要考虑的元素的索引以及元素本身:

var results = allData.Where((c, i) => searchable[i] && c.Contains("das"));