LINQ选择Lambda形式的不同计数

本文关键字:选择 Lambda LINQ | 更新日期: 2023-09-27 18:01:21

给定对象集合" items "的linq表达式,如下所示:

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

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

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

LINQ选择Lambda形式的不同计数

使用

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

这必须是可能的,因为在幕后,LINQ被翻译成lambda和表达式树(至少是LINQ到对象)

在您的情况下,???部分将是item => item.Value,即对于item,输出item.value。那么整个表达式就是

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