对仅包含字符串的ArrayList进行排序的最简单方法是什么?

时间:2011-02-01 17:47:43

标签: c# .net sorting

我看到如果我要对自定义类进行排序,那么我必须实现IComparable接口。 但在这种情况下,我无法控制“字符串类”。

谢谢。

5 个答案:

答案 0 :(得分:4)

使用List代替ArrayList来阻止cating,但在所有mylist.Sort() {{1}}和Array List Sort Method

答案 1 :(得分:2)

overload of the Sort method允许您指定要使用的IComparer

答案 2 :(得分:2)

请参阅:http://msdn.microsoft.com/en-us/library/8k6e334t.aspx

// Sorts the values of the ArrayList.
theArrayList.Sort();

答案 3 :(得分:1)

您出于某种原因使用ArrayList吗?它是预先通用的遗留集合,并且已被List替换为所有意图和目的。如果您正在使用列表,那么您可以使用sort()方法,它将为您处理所有内容。

答案 4 :(得分:1)

首先,我建议使用List<string>代替ArrayList。这将为您提供一个“正常工作”的.Sort()方法。

否则,您可以使用LINQ从ArrayList执行此操作,如:

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

使用ArrayList.Sort会更有效率,它会排序到位而不是复制......

 arrayList.Sort();