我有一个这样的清单:
列出人物
age name
1 bob
1 sam
7 fred
7 tom
8 sally
我需要对人进行linq查询并获得不同年龄(3)
的数字的intint distinctAges = people.SomeLinq();
如何? 如何?
答案 0 :(得分:11)
选择年龄,然后使用Distinct和Count。
var ages = people.Select( p => p.Age ).Distinct().Count()
或者您可以使用GroupBy和Count
var ages = people.GroupBy( p => p.Age ).Count();
答案 1 :(得分:0)
下载LinqPad并自行提供这些简单的linq / lambda查询。它很容易比较SQL和等效的Linq / lambda结果集。
你会从
开始select Age, Name
from People
group by Age, Name
然后打开另一个标签
var ages = (from p in Peoples
group p by p.Age into g
select g);
ages.Dump();
然后打开另一个标签
var ages = Peoples.GroupBy(p => p.Age);
ages.Dump();