C#でのgroupbyの目的は何ですか。

C#において、GroupByの役割は指定したキーに基づいてコレクション内の要素をグループ化することです。これは、キーに基づいてグループ化されたシーケンスを返し、それぞれのグループには同じキーを持つ要素が含まれています。

GroupByメソッドは、IEnumerableインターフェースを実装したコレクション、配列、リスト、検索結果などに適用できます。ラムダ式またはデリゲートを使用してグループ化するキーを指定できます。

各グループ化されたシーケンスの戻り値には、それぞれの要素がIGrouping<TKey, TElement>オブジェクトとなっており、TKeyはグループ化のキータイプ、TElementはグループの要素タイプです。IGrouping<TKey, TElement>は、グループ化のキーと要素へのアクセスを提供します。

GroupByメソッドを使用することで、コレクション内の要素を簡単にグループ化し、さらなる処理、分析、集計などを行うことができます。例えば、学生をクラスごとにグループ化したり、注文を顧客ごとにグループ化したり、製品をカテゴリごとにグループ化したりすることができます。

以下は、整数リストを奇数と偶数でグループ化するGroupByメソッドの使い方を示す例です。

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

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

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

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

結果は次の通りです:

Key: 奇数
1
3
5
7
9
Key: 偶数
2
4
6
8
10

元素は奇数と偶数に成功してグループ化されました。各グループにはキーと対応する要素が含まれています。

bannerAds