LINQ以Lambda格式选择Distinct Count

时间:2011-07-07 11:32:49

标签: c# linq select lambda distinct

给定对象集合“项目”的linq表达式,例如:

var total = (from item in items select item.Value).Distinct().Count()

是否可以将其转换为使用linq函数/ lambdas:

items.Select(???).Distinct().Count()

2 个答案:

答案 0 :(得分:50)

使用此:

items.Select(i => i.Value).Distinct().Count()

答案 1 :(得分:11)

必须有可能,因为在幕后,LINQ被翻译为lambdas和表达式树(至少LINQ到对象)

在您的情况下,???部分为item => item.Value,即item,输出item.value。 所以,整个表达式将是

var total = items.Select(item => item.Value).Distinct().Count();