代码之家  ›  专栏  ›  技术社区  ›  gremo

嵌套列表,如何使用lambda表达式执行此操作?

  •  2
  • gremo  · 技术社区  · 15 年前

    无法真正理解select扩展方法如何处理另一个列表中的列表,例如:

    var queries = (from item in list
                   from item2 in list.anotherlist
                   select item2).ToList<MyType>();
    

    这不起作用:

    // Gives me a list of List<QueryResult>
    var queries = list.Select(item => item.anotherlist).ToList(); 
    
    2 回复  |  直到 15 年前
        1
  •  5
  •   Ben    15 年前

    SelectMany运算符应该做到这一点-在本例中,它获取一个列表列表并将其展平:

    var queries = list.SelectMany(sublist => sublist).ToList();
    
        2
  •  0
  •   Dean Chalk    15 年前

    使用selectmany

    var queries = list.SelectMany(l => l.anotherList).ToList();