C#中g(shù)roupby的作用是什么

c#
小億
159
2024-02-05 10:24:40
欄目: 編程語言

在C#中,GroupBy的作用是根據(jù)指定的鍵將集合中的元素分組。它返回一個(gè)根據(jù)鍵分組的序列,每個(gè)組包含具有相同鍵的元素。

GroupBy方法可以應(yīng)用于任何實(shí)現(xiàn)了IEnumerable接口的集合,包括數(shù)組、列表和查詢結(jié)果等??梢允褂胠ambda表達(dá)式或委托來指定分組的鍵。

在返回的分組序列中,每個(gè)元素都是一個(gè)IGrouping<TKey, TElement>對(duì)象,其中TKey是分組的鍵類型,TElement是分組的元素類型。IGrouping<TKey, TElement>提供了對(duì)分組鍵和分組元素的訪問。

通過使用GroupBy方法,可以輕松地對(duì)集合中的元素進(jìn)行分組操作,以便進(jìn)行進(jìn)一步的處理、分析或聚合。例如,可以使用GroupBy方法對(duì)學(xué)生按照班級(jí)進(jìn)行分組,對(duì)訂單按照客戶進(jìn)行分組,對(duì)產(chǎn)品按照類別進(jìn)行分組等。

以下是一個(gè)示例,演示如何使用GroupBy方法對(duì)整數(shù)列表按照奇偶進(jìn)行分組:

List<int> numbers = new List<int> { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 };

var groups = numbers.GroupBy(x => x % 2 == 0 ? "偶數(shù)" : "奇數(shù)");

foreach (var group in groups)
{
    Console.WriteLine($"Key: {group.Key}");

    foreach (var number in group)
    {
        Console.WriteLine(number);
    }
}

輸出結(jié)果為:

Key: 奇數(shù)
1
3
5
7
9
Key: 偶數(shù)
2
4
6
8
10

可以看到,元素被成功地按照奇偶進(jìn)行了分組。每個(gè)分組包含一個(gè)鍵和相應(yīng)的元素。

0