目前我有一个实现 IComparable 接口的对象(ASP.NET 3.5,VB)。当我将几个实例化的对象放入一个泛型列表时,我通过一个简单的someList.Sort
. 我的CompareTo()
功能是这样的:
Public Function CompareTo(ByVal obj As Object) As Integer Implements
System.IComparable.CompareTo
'default is number of votes (opposite direction, highest first)'
Dim sent As Sentence = CType(obj, Sentence)
Return Not Points.CompareTo(sent.Points)
End Function
这很好用,除了现在我需要按另一个属性 DateSubmitted 属性作为 Points 的子集进行排序。例如,如果三个句子有投票:3、1、1,我希望得票最高的那个(显然),并且在两个一票的句子中,最早提交的那个被列出。
CompareTo() 可以做到这一点,还是我应该再次点击数据库并在那里对其进行排序?
谢谢