この記事は機械翻訳のミラー記事です。元の記事にジャンプするにはこちらをクリックしてください。

眺める: 2718|答える: 0

[出典] .NET/C# でToLookupメソッドを収集するために

[リンクをコピー]
掲載地 2023/12/19 20:30:35 | | | |
要件:他の人の技術ブログを読み、いくつかのコレクションでToLookupメソッドが呼ばれているのに、この方法は触れられていないことを確認し、関連する資料をクエリしてこの拡張メソッドの使い方を学びましょう。 ToLookupメソッドはToLookup<TSource, TKey>という1対多の辞書の値を返します。これはキーを値の集合にマッピングするための1対多の辞書です。

GroupBy vs. ToLookup

GroupByとToLookupはどちらもコレクションをグループ化するためのLINQ拡張手法であり、主な違いはリターンタイプと使用方法にあります。

GroupBy メソッドは IEnumerable<IGrouping<TKey, TElement>> オブジェクトを返します。ここで TKey はグループ化キーを表す型、TElement は要素型を表します。 このメソッドは指定されたキーセレクタに従ってコレクションをグループ化し、IGrouping<TKey、TElement>オブジェクトのシーケンスとしてグループ化結果を返します。 IGrouping<TKey, TElement> オブジェクトは同じキーを持つ要素の集合を表します。 foreachループやLINQクエリを使ってグループ化された結果を反復処理できます。 GroupBy メソッドは遅延実行操作で、結果を反復処理し始めるまで実際のグループ化操作を実行します。

ToLookupメソッドはILookup<TKey, TElement>オブジェクトを返します。ここでTKeyはグループキーを表す型、TElementは要素型を表します。 このメソッドは指定されたキーセレクタに従ってコレクションをグループ化し、グループ化結果をILookup<TKey, TElement>オブジェクトとして返します。 ILookup<TKey、TElement>オブジェクトは同じキーを持つ要素の集合を表します。 インデクサーやフォーリッチャーループを使ってグループ化された結果にアクセスできます。 GroupByとは異なり、ToLookupは即座にグループ化アクションを実行し、呼び出し時に結果を返す即時アクションです。



例:ある生徒がクラスにいて、そのクラスは複数の生徒に対応しています。 学生コレクションにはクラス情報が含まれ、各クラス(または指定されたクラス)の学生はクラスグループごとに出力されます。

コードは以下の通りです:

以下に示すように:



参考:ハイパーリンクのログインが見えます。





先の:.NET/C# コンソールコマンドラインツール(パラメータ、オプション)
次に:.NET 8向けのDockerベースイメージの変更点
免責事項:
Code Farmer Networkが発行するすべてのソフトウェア、プログラミング資料、記事は学習および研究目的のみを目的としています。 上記の内容は商業的または違法な目的で使用されてはならず、そうでなければ利用者はすべての結果を負うことになります。 このサイトの情報はインターネットからのものであり、著作権紛争はこのサイトとは関係ありません。 ダウンロード後24時間以内に上記の内容を完全にパソコンから削除してください。 もしこのプログラムを気に入ったら、正規のソフトウェアを支持し、登録を購入し、より良い本物のサービスを受けてください。 もし侵害があれば、メールでご連絡ください。

Mail To:help@itsvse.com