2

我有一个布尔数组和一个列表:

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 函数?

4

1 回答 1

5

使用此重载Where您的过滤回调提供正在考虑的元素的索引以及元素本身:

var results = allData.Where((c, i) => searchable[i] && c.Contains("das"));
于 2013-05-13T08:45:22.753 回答