我有以下属性:
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可以更舒适地完成此操作,遗憾的是我对此没有多少经验。
提前致谢:)
答案 0 :(得分:3)
您可能想要使用SelectMany
:
List<Object> flatList = GroupedItems.SelectMany(item => item.Item2).ToList();
SelectMany
将枚举中的所有项目投影到另一个枚举中。在您的情况下,它将每个元组投影到该元组中的对象列表(Item2
)。