2011-02-01 69 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

相关问题