C# 中的 SelectMany
方法主要用于处理集合,特别是那些实现了 IEnumerable
接口的集合。它可以对集合中的每个元素执行一个指定的操作,并将这些操作的结果合并成一个新的集合。
SelectMany
的主要应用场景是当你需要对集合中的每个元素执行一个操作,并将这些操作的结果合并成一个单一的、扁平化的集合时。例如,你可以使用 SelectMany
来将嵌套的集合展平为一个单一的集合。
下面是一个简单的示例,演示了如何使用 SelectMany
来展平一个嵌套的集合:
using System;
using System.Collections.Generic;
using System.Linq;
class Program
{
static void Main()
{
// 创建一个嵌套的集合
var nestedCollection = new List<List<int>>
{
new List<int> { 1, 2, 3 },
new List<int> { 4, 5, 6 },
new List<int> { 7, 8, 9 }
};
// 使用 SelectMany 展平嵌套的集合
var flattenedCollection = nestedCollection.SelectMany(innerList => innerList);
// 输出展平后的集合
Console.WriteLine("Flattened collection:");
foreach (var item in flattenedCollection)
{
Console.WriteLine(item);
}
}
}
在这个示例中,我们首先创建了一个嵌套的集合 nestedCollection
,其中包含三个子列表。然后,我们使用 SelectMany
方法来展平这个嵌套的集合,并将结果存储在 flattenedCollection
中。最后,我们遍历并输出展平后的集合。