过滤列表并分配给另一个列表

时间:2014-04-18 04:51:53

标签: c#

我的代码中有两个单独的列表。

public static List<string> stringList= new List<string>();
  public static List<bool> boolList= new List<bool>();

我想过滤列表。

  1. 过滤所有True(boolList)

  2. 获取索引(过滤器索引)

  3. 根据该索引获取字符串值(stringList)

  4. 有可能吗?

2 个答案:

答案 0 :(得分:3)

var filtered = stringList.Zip(boolList, Tuple.Create)
    .Where(t => t.Item2).Select(t => t.Item1);

答案 1 :(得分:2)

var result = boolList
                .Select((x, index) => new { IsTrue = x, Index = index })
                .Where(x => x.IsTrue)
                .Select(x => stringList.ElementAtOrDefault(x.Index));