linq select 与SelectMany 的用法
时间: 2024-05-10 11:16:35 浏览: 55
在 LINQ 中,Select 用于对序列中的每个元素执行一个转换操作,返回一个新的序列。而 SelectMany 用于将一个序列中的每个元素的子序列合并成一个序列。
下面是 Select 和 SelectMany 的用法示例:
```csharp
// Select 的用法示例
int[] numbers = { 1, 2, 3, 4, 5 };
var squaredNumbers = numbers.Select(n => n * n);
// SelectMany 的用法示例
string[] words = { "hello", "world" };
var letters = words.SelectMany(w => w.ToCharArray());
```
在上面的示例中,对于 Select,我们使用了一个 lambda 表达式将每个元素平方,并返回一个新序列。而对于 SelectMany,我们使用了一个 lambda 表达式将每个单词转换为字符数组,并将这些字符数组合并成一个字符序列。
需要注意的是,如果 SelectMany 的 lambda 表达式返回的是一个集合类型,那么最终返回的序列会将每个集合中的元素合并成一个序列。如果返回的是一个单一元素,那么最终返回的序列中只会包含这个元素。
阅读全文