目前我有一個實現IComparable接口(ASP.NET 3.5,VB)的對象。當我將幾個實例化對象放入泛型列表中時,我通過簡單的someList.Sort
對它們進行排序。我CompareTo()
功能是這樣的:使用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排序,作爲點的子集。例如,如果有三個句子有投票:3,1,1,我希望第一個(最明顯)投票數最高的那個和一個投票最多的兩個句子,那麼最早提交的那個人將被列出。
這可能與CompareTo(),或者我應該再次打到數據庫,並在那裏排序?
感謝
我不能得到someList.OrderBy在intellisense中彈出...我很確定我使用3.5(我使用VS08),但我想這可能我不是? – Jason 2009-06-22 23:25:53
你有`Imports System.Linq`嗎?確保Web.config中有一個「」。 –
2009-06-22 23:28:20