.net 使用LINQ对字典排序
我有一个.net 使用LINQ对字典排序,.net,linq,sorting,.net,Linq,Sorting,我有一个 Dim carsDic as Dictionary(Of String, Integer) Dictionary<string, int> carsDic; Dim carsDic作为字典(字符串,整数) 字典carsDic; 这是车辆代码(字符串)及其时间(整数,以分钟为单位)的列表 我想按时间,然后按代码对汽车进行排序,然后返回较松的(时间越长,代码越高) 如何使用LINQ进行此操作?(VB.NET!!,C#?!)carsDic.OrderBy(cd=>cd.Val
Dim carsDic as Dictionary(Of String, Integer)
Dictionary<string, int> carsDic;
Dim carsDic作为字典(字符串,整数)
字典carsDic;
这是车辆代码(字符串)及其时间(整数,以分钟为单位)的列表
我想按时间,然后按代码对汽车进行排序,然后返回较松的(时间越长,代码越高)
如何使用LINQ进行此操作?(VB.NET!!,C#?!)carsDic.OrderBy(cd=>cd.Value)。然后by(cd=>cd.Key)。Last()因为这是家庭作业,所以我不会提供现成的答案 最简单(最直接)的方法是将所有信息放入
列表
,其中某物
是一个同时具有代码
和时间
属性的类。它可以是一个匿名类型(想想selectnew{code=“X”,Time=0}
),也可以是一个Tuple`或您自己的类
然后,您可以尝试根据您的要求对列表进行排序
试着找出如何实现上述内容,如果您在过程中需要更具体的帮助,请编辑问题。我的问题稍微少了一些字母:)这不是最好的车,真的,我想编辑为不是最好的车。;)这真的应该是最糟糕的赛车模拟,你想要最后一辆车吗?=)在实际应用中,我对这些值有不同的含义,为了清楚起见,这里就是这样。
var deadLastCar = carsDic.OrderByDescending(e => e.Value).ThenByDescending (e => e.Key).First();
var deadLastCar = carsDic.OrderByDescending(e => e.Value).ThenByDescending (e => e.Key).First();