似乎这是一种已经有答案的事情,但我找不到它。
我的问题很简单,我如何在一条语句中完成,而不是新建空列表,然后在下一行中聚合,我可以有一个linq语句输出最终列表。detail是一个项目列表,每个项目包含一个住宅列表,我只是想要一个平面列表中的所有住宅。
var residences = new List<DAL.AppForm_Residences>();
details.Select(d => d.AppForm_Residences).ToList().ForEach(d => residences.AddRange(d));
下面是一个示例代码:
List<int> listA = new List<int> { 1, 2, 3, 4, 5, 6 };
List<int> listB = new List<int> { 11, 12, 13, 14, 15, 16 };
List<List<int>> listOfLists = new List<List<int>> { listA, listB };
List<int> flattenedList = listOfLists.SelectMany(d => d).ToList();
foreach (int item in flattenedList)
{
Console.WriteLine(item);
}
输出将是:
1
2
3
4
5
6
11
12
13
14
15
16
Press any key to continue . . .
下面是一个示例代码:
List<int> listA = new List<int> { 1, 2, 3, 4, 5, 6 };
List<int> listB = new List<int> { 11, 12, 13, 14, 15, 16 };
List<List<int>> listOfLists = new List<List<int>> { listA, listB };
List<int> flattenedList = listOfLists.SelectMany(d => d).ToList();
foreach (int item in flattenedList)
{
Console.WriteLine(item);
}
输出将是:
1
2
3
4
5
6
11
12
13
14
15
16
Press any key to continue . . .