ホームページ >バックエンド開発 >C++ >GroupBy を使用して C# リスト内の要素の出現を効率的にカウントするにはどうすればよいですか?

GroupBy を使用して C# リスト内の要素の出現を効率的にカウントするにはどうすればよいですか?

Mary-Kate Olsen
Mary-Kate Olsenオリジナル
2025-01-02 13:03:39260ブラウズ

How Can I Efficiently Count Element Occurrences in a C# List Using GroupBy?

GroupBy を使用してリスト内の要素の出現数を数える

リスト内の各要素の出現数を数えるのは、特に、面倒な作業になることがあります。リストが大きい場合。ただし、C# には GroupBy メソッドを使用した洗練されたソリューションがあります。

GroupBy メソッドは、一連の要素を入力として受け取り、指定されたキーに基づいて要素をグループ化します。この場合、要素を値でグループ化したいと考えます。

var l1 = new List<int>() { 1, 2, 3, 4, 5, 2, 2, 2, 4, 4, 4, 1 };

var g = l1.GroupBy(i => i);

GroupBy メソッドは IGrouping を返します。オブジェクト。ここで、TKey はグループ化キーのタイプ、TElement はグループ内の要素のタイプです。この場合、グループ化キーは要素自体 (つまり、要素の値) であり、グループ内の要素はその値の出現 (つまり、値がリスト内に出現する回数) です。

各グループを反復処理すると、キー (要素の値) と出現回数 (要素の数) が得られます。

foreach (var grp in g)
{
  Console.WriteLine($"{grp.Key} {grp.Count()}");
}

出力:

1 2
2 4
3 1
4 4
5 1

このソリューションは効率的で実装が簡単なので、プログラマのツールキットに追加する価値があります。

以上がGroupBy を使用して C# リスト内の要素の出現を効率的にカウントするにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。