如何排序查询? [英] How to sort a lookup?

查看:109
本文介绍了如何排序查询?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个存储字符串和整数的查找类型.

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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆