通用列表排序。至少有一个对象必须实现IComparable

时间:2013-09-25 09:00:54

标签: .net vb.net linq sorting generic-list

我有一个我的g类列表

Public Class g
    Public x as Decimal
    Public y As Decimal
End Class

Dim MyQuery As List(Of g) = ...

我尝试排序

Dim sorted As List(Of g) = MyQuery.OrderBy(Function(x) x.y).ThenBy(Function(x) x.x).ToList()

不幸的是我收到以下错误

  

至少有一个对象必须实现IComparable。

我在这里做错了什么? 当我尝试按一个属性排序时,我没有错误

Dim sorted As List(Of g) = MyQuery.OrderBy(Function(x) x.y).ToList()

1 个答案:

答案 0 :(得分:1)

您在问题中提供的代码按原样运行。您的原始代码很可能不使用decimal作为属性,而是使用其他一些未实现IComparable的类型,从而导致您获得异常。

相关问题