私はしばらく LINQ とラムダ式を使用してきましたが、機能のすべての側面にまだ完全に満足しているわけではありません。
そのため、最近プロジェクトに取り組んでいたときに、いくつかのプロパティに基づいてオブジェクトの個別のリストを取得する必要があり、このコードに出くわしました。それはうまくいきますが、グループ化のメカニズムを理解したいと思います。単純にコードを差し込んで問題から逃げるのは好きではありません。
とにかくコードは次のとおりです。
var listDistinct
=list.GroupBy(
i => i.value1,
(key, group) => group.First()
).ToList();
上記のコード サンプルでは、最初にプロパティでグループ化するように指示するラムダ式を呼び出しGroupBy
て渡していますvalue1
。コードの 2 番目のセクションが混乱を引き起こしています。
key
声明で言及value1
していることは理解しています(key, group)
が、起こっていることすべてにまだ頭を悩ませているわけではありません。