2011-02-01 71 views
0

我看到如果我排序一個自定義類,那麼我必須實現IComparable接口。 但在這種情況下,我無法控制「字符串類」。排序僅包含字符串的ArrayList的最簡單方法是什麼?

謝謝。

+0

字符串已經實現了IComparable,這就是爲什麼L下面提到的ist.Sort工作。 :)對於實現它的任何類(包括你的自定義類,如果你已經實現了它),這同樣適用。 – Tridus 2011-02-01 18:08:20

回答

1

你使用ArrayList是有原因的嗎?這是預先通用的傳統收藏,並已爲List取代所有意圖和目的。如果你正在使用列表,那麼你可以使用sort()方法,它會爲你處理所有事情。

1

首先,我建議使用List<string>而不是ArrayList。這將爲您提供一個「正常工作」的方法。

否則,你可以使用LINQ從像一個ArrayList做到這一點:

// This makes a new List<T> 
var sorted = arrayList.Cast<string>().OrderBy(s => s).ToList(); 

使用ArrayList.Sort會更有效,這將整理到位,而不是複製......

arrayList.Sort(); 
+0

數組列表具有列表之類的排序方法。 – 2011-02-01 17:52:56

相關問題