根据指定的键选择器函数对序列中的元素进行分组。

 

命名空间:  System.Linq
程序集:  System.Core(在 System.Core.dll 中)

 
public static IQueryable<IGrouping<TKey, TSource>> GroupBy<TSource, TKey>(
	this IQueryable<TSource> source,
	Expression<Func<TSource, TKey>> keySelector
)

类型参数

TSource

 中的元素的类型。

TKey

 表示的函数返回的键类型。

参数

source
类型:System.Linq.IQueryable<TSource>
IQueryable<T>
keySelector
类型:System.Linq.Expressions.Expression<Func<TSource, TKey>>
用于提取每个元素的键的函数。

返回值

类型:System.Linq.IQueryable<IGrouping<TKey, TSource>>
 对象都包含一个对象序列和一个键。

使用说明

在 Visual Basic 和 C# 中,可以在 IQueryable<TSource> 类型的任何对象上将此方法作为实例方法来调用。当使用实例方法语法调用此方法时,请省略第一个参数。有关更多信息,请参见扩展方法 (Visual Basic)扩展方法(C# 编程指南)
异常 条件
ArgumentNullException

null

Expression<TDelegate>

 属性表示。

 获得的。

 对序列中的元素进行分组。

 
            class Pet
            {
                public string Name { get; set; }
                public int Age { get; set; }
            }

            public static void GroupByEx1()
            {
                // Create a list of Pet objects.
                List<Pet> pets =
                    new List<Pet>{ new Pet { Name="Barley", Age=8 },
                                   new Pet { Name="Boots", Age=4 },
                                   new Pet { Name="Whiskers", Age=1 },
                                   new Pet { Name="Daisy", Age=4 } };

                // Group the pets using Pet.Age as the key.
                // Use Pet.Name as the value for each entry.
                var query = pets.AsQueryable().GroupBy(pet => pet.Age);

                // Iterate over each IGrouping in the collection.
                foreach (var ageGroup in query)
                {
                    Console.WriteLine("Age group: {0}  Number of pets: {1}", ageGroup.Key, ageGroup.Count());
                }
            }

            /*
                This code produces the following output:

                Age group: 8  Number of pets: 1
                Age group: 4  Number of pets: 2
                Age group: 1  Number of pets: 1

            */



.NET Framework

受以下版本支持:4.5、4、3.5

.NET Framework Client Profile

受以下版本支持:4、3.5 SP1

可移植类库

受以下版本支持:可移植类库

适用于 Windows 应用商店应用的 .NET

受以下版本支持:Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008(不支持服务器核心角色), Windows Server 2008 R2(支持带 SP1 或更高版本的服务器核心角色;不支持 Itanium)

 

 

.NET Framework 并不是对每个平台的所有版本都提供支持。

相关文章:

  • 2021-09-18
  • 2021-08-05
  • 2021-11-29
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
  • 2022-12-23
  • 2021-11-12
猜你喜欢
  • 2022-01-19
  • 2022-01-28
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
相关资源
相似解决方案