如何排序查询? [英] How to sort a lookup?
本文介绍了如何排序查询?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我有一个存储字符串和整数的查找类型.
Hi I have a lookup type that stores strings and ints.
static Lookup<string, int> lookup;
lookup = (Lookup<string, int>)list.ToLookup(i => i.IP, i => i.Number);
但是现在我需要按值(数字)对查找进行排序,并获取前十个键及其值.
But now I need to sort this lookup by the values (number), and get the top 10 keys with their values.
这怎么可能?
推荐答案
我不确定为什么要将Lookup<string, int>
强制转换为Lookup<string, string>
,但是您想要的一般答案是:
I'm not sure why you are casting a Lookup<string, int>
to a Lookup<string, string>
, but the general answer you want is:
var list = new List<Test>
{
new Test { IP = "A", Number = 1 }, new Test { IP = "A", Number = 3 }, new Test { IP = "A", Number = 4 },
new Test { IP = "B", Number = 1 }, new Test { IP = "B", Number = 1 }, new Test { IP = "B", Number = 1 },
new Test { IP = "C", Number = 1 },
new Test { IP = "D", Number = 1 },
new Test { IP = "E", Number = 1 }, new Test { IP = "E", Number = 1 }, new Test { IP = "E", Number = 1 }
};
var values = list.ToLookup(s => s.IP, s => s.Number)
.OrderByDescending(s => s.Count())
.Take(10);
这篇关于如何排序查询?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文