C#でのgroupbyの使い方は何ですか?

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を介してアクセスできます。

bannerAds