[.NET クラスライブラリ Tips][LINQ] シーケンスの要素をグループ化する(GroupByメソッド)

スポンサーリンク

本記事の概要

この記事では、LINQを使用して、 シーケンスの要素をグループ化する方法について説明します。

公式サイト情報はコチラを参照してください。

 

 シーケンスの要素をグループ化する

C# LINQのFirstOrDefaultメソッドは、シーケンスの最初の要素を返すために使用されます。グループ化は、キーによって行われ、同じキーを持つ要素が同じグループに含まれます。

以下は、GroupByメソッドの使用例です。

List words = new List() { "apple", "banana", "carrot", "date", "egg" };

var groups = words.GroupBy(w => w.Length);

foreach (var group in groups)
{
    Console.WriteLine("単語の長さが {0}:", group.Key);
    foreach (var word in group)
    {
        Console.WriteLine("  {0}", word);
    }
}

この例では、文字列のリスト(words)を定義した後、GroupByメソッドを使用して、文字列を長さでグループ化しています。GroupByメソッドには、グループ化のキーを指定するラムダ式も含まれています。この例では、文字列の長さをキーとして使用しています。

グループ化された結果を、foreachループを使用して、グループごとにコンソールに表示しています。各グループは、group.Keyでアクセスできます。

出力結果は以下の通りです。

単語の長さが 5:
  apple
単語の長さが 6:
  banana
  carrot
単語の長さが 4:
  date
単語の長さが 3:

.NET クラス Tips 一覧

これまでに紹介した .NET Tips 一覧はこちら

Please follow and like us:

コメント

タイトルとURLをコピーしました