Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/linq/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net 使用LINQ对字典排序_.net_Linq_Sorting - Fatal编程技术网

.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();