展平列表<tuple <string,list <object>&gt;&gt;

时间:2017-02-01 12:30:01

标签: c# linq

我有以下属性:

List<Tuple<string,List<Object>>> GroupedItems

我需要一个所有对象的列表。

目前,我正在使用一种非常务实的方法:

          List<Object> flatList = new List<Object>();
          foreach (var y in container.GroupedItems)
          {
            foreach(var z in y.Item2)
            {
            flatList.Add(z);
            }
          }

我确信使用LINQ可以更舒适地完成此操作,遗憾的是我对此没有多少经验。

提前致谢:)

1 个答案:

答案 0 :(得分:3)

您可能想要使用SelectMany

List<Object> flatList = GroupedItems.SelectMany(item => item.Item2).ToList();

SelectMany将枚举中的所有项目投影到另一个枚举中。在您的情况下,它将每个元组投影到该元组中的对象列表(Item2)。