Ari*_*ian 4 c# linq linq-to-entities c#-7.0
请考虑这个列表:
City Value
---------------------
City1 10
City2 20
City3 30
City4 40
City5 50
City6 60
Run Code Online (Sandbox Code Playgroud)
如果我想获得城市中的前 3 个值,我可以这样写LINQ:
MyList.OrderByDescending(o=>o.Value).Take(3);
Run Code Online (Sandbox Code Playgroud)
现在考虑这个列表:
City Value
---------------------
City1 10
City2 20
City3 30
City4 40
City5 50
City6 60
City7 60
Run Code Online (Sandbox Code Playgroud)
我想要一个返回具有前3 个最高值的所有城市的查询。对于上面的列表,我想要这个结果:
City Value
---------------------
City7 60
City6 60
City5 50
City4 40
Run Code Online (Sandbox Code Playgroud)
谢谢
小智 14
var result = MyList.GroupBy(o => o.Value)
.OrderByDescending(g => g.Key)
.Take(3)
.SelectMany(g => g)
.ToList();
Run Code Online (Sandbox Code Playgroud)
此列表将包含具有前 3 个最高值的所有城市,并按值降序排列。
| 归档时间: |
|
| 查看次数: |
160 次 |
| 最近记录: |