2015-05-07 43 views
0

我有我需要排序的ListMicrosoft.WindowsAzure.Storage.Table.DynamicTableEntity。雖然List爲我提供了一個Sort()方法,但DynamicTableEntity沒有默認比較器。因爲這是一個sealed課程,我似乎無法創建自己的課程。如何對列表<DynamicTableEntity>進行排序密封的類

我想對DynamicTableEntity.RowKey進行排序。

對這個列表進行排序最有效的方法是什麼?我應該推出自己的排序方法,還是應該嘗試使用某種Linq查詢,還是有我缺少的東西?

+0

嘗試使用擴展方法將有幫助 –

+3

您不能使用採用'IComparer '或'Comparison '委託的Sort覆蓋? https://msdn.microsoft.com/en-us/library/w56d4y5z(v=vs.110).aspx – Gimly

+0

聽起來很熟悉。我會研究,不知道該怎麼做,謝謝。 – Ivan

回答

2

您應該可以使用具有Comparison<T>委託的Sort覆蓋。

像這樣:

entities.Sort((x,y) => /*Code to compare your two entities */); 

知道該委託應與下列規則返回int

  • -1,如果的第一個元素應該是前第二(X < Y)
  • 0如果它們相等
  • 1如果第一個元素應該在第二個元素之後(x> y)

簡單類型已經實現了您可能可以使用的CompareTo方法。