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
是一个非常有用的方法,可以帮助你处理嵌套集合、合并多个查询结果以及在流式处理过程中展平数据。