私はしばらくLINQとLambda Expressionsを使っていましたが、私はまだこの機能のあらゆる面を完全に満足させていません。このラムダグループ機能について説明できますか?
私は最近プロジェクトで作業していましたが、いくつかのプロパティに基づいてオブジェクトの別個のリストを取得する必要がありました。このコードを実行しました。それはうまくいっていますが、私はグループ化の仕組みを理解したいと思います。私はそれを助けることができれば、単にコードを差し込み、問題から遠ざけるのが好きではありません。
とにかくコードは次のとおりです。上記のコードサンプルで
var listDistinct
=list.GroupBy(
i => i.value1,
(key, group) => group.First()
).ToList();
、最初GroupBy
を呼び出し、それをプロパティvalue1
によってグループにそれを伝えるラムダ式を渡しています。コードの2番目のセクションは混乱を引き起こしています。
key
が(key, group)
の文でvalue1
を参照していることを理解していますが、私はまだ行われているすべてのことを頭で囲んでいません。
ありがとう、Eric。ドキュメントはかなり明確です。上記のシナリオで使用されている「グループ」は予約語ではなく、そのラムダの説明的な名前を渡すことができます。それはかなり助けになる - 私はこのグループがこの操作のための予約語であると思っていたが、それ以外の場合は何が起きているのかが少しはっきりしていると考えていた。 – elucid8
また、あなたは上司です。 – elucid8
@ elucid8:私はあなたの2番目の質問に答えるために私の答えを更新します。 –