C# 什么';排序只包含字符串的ArrayList的最简单方法是什么?

C# 什么';排序只包含字符串的ArrayList的最简单方法是什么?,c#,.net,sorting,C#,.net,Sorting,我看到,如果要对自定义类进行排序,那么必须实现IComparable接口。 但在这种情况下,我无法控制“string类” 谢谢。使用列表代替ArrayList以防止分类,但在所有domylist.Sort()中,请参见和有一个允许您指定要使用的IComparer。您使用ArrayList是否有原因?它是前通用遗留集合,出于所有目的,已被列表取代。如果您使用的是列表,那么您可以只使用sort()方法,它将为您处理所有事情。首先,我建议使用list而不是ArrayList。这将为您提供一个“正常工作

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


谢谢。

使用列表代替ArrayList以防止分类,但在所有do
mylist.Sort()
中,请参见和

有一个允许您指定要使用的
IComparer

您使用
ArrayList
是否有原因?它是前通用遗留集合,出于所有目的,已被
列表
取代。如果您使用的是列表,那么您可以只使用
sort()
方法,它将为您处理所有事情。

首先,我建议使用
list
而不是
ArrayList
。这将为您提供一个“正常工作”的
.Sort()
方法

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

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


数组列表有类似列表的排序方法。为什么是IComparable?在这种情况下不需要这样做。字符串已经实现了IComparable。在填充字符串的ArrayList上调用ArrayList.Sort时,它会将它包含的每个项强制转换为IComparable,并比较每个项(使用算法)以确定如何排序。我想要最简单的。无论如何,谢谢。字符串已经实现了IComparable,这就是为什么下面提到的List.Sort有效的原因。:)这同样适用于任何已实现的类(如果已实现,则包括自定义类)。
 arrayList.Sort();
// Sorts the values of the ArrayList.
theArrayList.Sort();