假设有一个 LINQ 表达式应用于一个对象集合 'items',如下所示:
var total = (from item in items select item.Value).Distinct().Count()
这个能否使用LINQ函数/lambda表达式进行转换:
items.Select(???).Distinct().Count()
使用这个:
items.Select(i => i.Value).Distinct().Count()
至少对于LINQ到对象,它必须是可能的,因为在幕后,LINQ被转换为Lambda表达式和表达式树。
在您的情况下,???
部分将是 item => item.Value
,即针对 item
,输出 item.value
。
因此,整个表达式将是:
var total = items.Select(item => item.Value).Distinct().Count();
items.GroupBy(p => p.Value).Count()
- Slai