c# SelectMany
时间: 2024-02-05 10:05:10 浏览: 96
Select多选
在 C# 中,`SelectMany` 是一个 LINQ 操作符,用于将一个集合中的每个元素转换为另一个集合中的多个元素,并将所有的转换后的元素合并成一个单一的序列。
`SelectMany` 方法的签名如下:
```csharp
public static IEnumerable<TResult> SelectMany<TSource, TResult>(
this IEnumerable<TSource> source,
Func<TSource, IEnumerable<TResult>> selector
);
```
其中,`source` 参数表示要转换的源集合,`selector` 参数是一个转换函数,它将每个源元素转换为一个目标集合,并返回该目标集合。
举个例子,假设有一个包含多个字符串的集合,我们可以使用 `SelectMany` 将每个字符串按照字母拆分,并将所有的字母合并成一个单一的序列,代码如下:
```csharp
string[] words = { "hello", "world" };
IEnumerable<char> letters = words.SelectMany(word => word.ToCharArray());
// letters = { 'h', 'e', 'l', 'l', 'o', 'w', 'o', 'r', 'l', 'd' }
```
在上面的示例中,`SelectMany` 方法将每个字符串按照字母拆分成一个字符数组,然后将所有的字符数组合并成一个单一的序列。
阅读全文