C#中groupby的用法是什么

avatar
作者
猴君
阅读量:0

在C#中,GroupBy方法用于将集合中的元素按照指定的键进行分组。它返回一个包含分组后的结果的IEnumerable<IGrouping<TKey, TElement>>对象,其中TKey是分组的键的类型,TElement是集合中元素的类型。

GroupBy方法有多个重载形式,最常用的形式接受一个Func<TSource, TKey>参数,该参数定义了用于分组的键的选择器函数。例如,以下示例将一个字符串集合按照字符串的长度进行分组:

List<string> strings = new List<string> { "apple", "banana", "orange", "pear", "grape" };  var groups = strings.GroupBy(s => s.Length);  foreach (var group in groups) {     Console.WriteLine($"Group key: {group.Key}");     foreach (var element in group)     {         Console.WriteLine($"Element: {element}");     }     Console.WriteLine(); } 

输出:

Group key: 5 Element: apple Element: grape  Group key: 6 Element: banana  Group key: 6 Element: orange  Group key: 4 Element: pear 

在上面的示例中,strings.GroupBy(s => s.Length)将字符串集合按照字符串的长度进行分组,并返回一个包含4个分组的IEnumerable<IGrouping<int, string>>对象。每个分组都有一个键(字符串的长度),可以通过group.Key访问。每个分组都是一个可迭代的集合,可以通过group访问。

广告一刻

为您即时展示最新活动产品广告消息,让您随时掌握产品活动新动态!