C# 中的 SelectMany
是一个 LINQ 方法,它主要用于将多个集合或可迭代对象中的元素合并到一个序列中。这个方法可以解决以下几种难题:
SelectMany
将这些嵌套集合扁平化为一个单一的集合。List<int> nestedList = new List<List<int>> {
new List<int> { 1, 2, 3 },
new List<int> { 4, 5, 6 },
new List<int> { 7, 8, 9 }
};
List<int> flattenedList = nestedList.SelectMany(innerList => innerList).ToList();
SelectMany
。var query1 = from item in collection1 select item;
var query2 = from item in collection2 select item;
var combinedResults = query1.SelectMany(item => query2.Where(innerItem => innerItem == item));
SelectMany
。var query = from item in databaseContext.Items
select new { Item = item, Category = item.Category };
var flattenedResults = query.SelectMany(x => x.Category.Items).ToList();
总之,SelectMany
是一个非常有用的方法,可以帮助你处理嵌套集合、合并多个查询结果以及在流式处理过程中展平数据。