次のようなオブジェクトコレクション「アイテム」のlinq式を指定します。
var total = (from item in items select item.Value).Distinct().Count()
これをlinq関数/ lambdasを使用するように変換することは可能ですか?
items.Select(???).Distinct().Count()
これを使って:
items.Select(i => i.Value).Distinct().Count()
裏で、LINQはラムダと式ツリーに変換されるため(少なくともLINQ to Objects)、それが可能でなければなりません。
あなたの場合、???
部分はitem => item.Value
、つまりitem
の場合、出力item.value
。したがって、式全体は
var total = items.Select(item => item.Value).Distinct().Count();