linq group使用
时间: 2024-08-14 09:01:25 浏览: 90
LINQ(Language Integrated Query,语言集成查询)是.NET框架提供的一种强大的查询机制,用于简化数据操作。其中,`GroupBy`是LINQ中一个非常重要的方法,它允许将集合按照某个键值划分成多个组(groups),每个组内元素具有相同的键值。
`GroupBy`的基本语法如下:
```csharp
var result = source.GroupBy(keySelector, elementSelector, comparer);
```
- `source`: 要进行分组操作的数据集。
- `keySelector`: 选择用于分组的关键属性或函数,返回值将成为分组的依据。
- `elementSelector` (可选): 选择每个组内的元素映射到新的形式,如果不指定,则默认保留原始元素。
- `comparer` (可选): 用于比较键值的IEqualityComparer实例,可以自定义排序。
使用`GroupBy`的例子:
```csharp
var numbers = new[] { 1, 2, 2, 3, 3, 3, 4, 4, 4, 4 };
var groups = numbers.GroupBy(n => n); // 按数字本身分组
foreach (var group in groups)
{
Console.WriteLine($"Group with key {group.Key}:");
foreach (int number in group)
Console.Write(number + " ");
Console.WriteLine();
}
```
这会输出按数字分组的结果,比如一组全包含1,一组全包含2,以此类推。
阅读全文