在vb.net中将LINQ转换为字典

时间:2015-03-14 07:11:05

标签: vb.net linq

我试图将LINQ转换为vb.net中的字典,但似乎无法理解为什么我会把所有这些异常都抛给我。

我试图做的就是在LINQ的帮助下按降序排序。

这是我的代码:

'Declaring my primary dictionary    
Dim nameValDict As New Dictionary(Of Object, Object)

... nameValDict现在正在填充数据

'Declaring temporary sorted dictionary with LINQ
Dim sortedDict = (From entry In nameValDict Order By entry.Value Descending Select entry)

'Replace with sorted results from LINQ
nameValDict = sortedDict.ToDictionary(Function(x) x.Key, Function(x) x.Value)

异常:System.ArgumentException(对象的类型应为Double) - 在最后一行。

我会感激任何帮助。

1 个答案:

答案 0 :(得分:1)

在此声明中恰当地表达了您的Order By
 From entry In nameValDict Order By entry.Value Descending Select entry

因为entry.Value类型为Object,您无法对对象进行排序。该程序不知道如何比较 Object与其他人。