我试图将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) - 在最后一行。
我会感激任何帮助。
答案 0 :(得分:1)
在此声明中恰当地表达了您的Order By
:
From entry In nameValDict Order By entry.Value Descending Select entry
因为entry.Value
类型为Object
,您无法对对象进行排序。该程序不知道如何比较 Object
与其他人。