【发布时间】:2014-10-10 11:53:02
【问题描述】:
我正在尝试对strings 中的ArrayList 进行排序(不在int 中)。
鉴于: f.e.
[0] 23,24
[1] 12,33
[2] 37,11
Arraylist.Sort 应该回馈(按最后一个数字升序排序):
[0] 37,11
[1] 23,24
[2] 12,33
到目前为止:
public class Point
{
public int i, j;
public Point(int i, int j)
{this.i = i; this.j = j;}
public string ToString()
{return i + "," + j;}
}
public class SList
{
public static void Main()
{
ArrayList Slist = new ArrayList();
Random Generate = new Random();
for (int i = 0; i < 3; i++)
{
Point p = new Point(Generate.Next(40), Generate.Next(40));
Slist.Add(p.ToString());
}
Slist.Sort();
}
}
【问题讨论】:
-
您能展示一下到目前为止您为实现这一目标所做的尝试吗?
-
您使用非通用
ArrayList而不是通用List<T>是否有原因? -
您尚未指定预期的排序方式
-
您想使用字典顺序(x 在 y 之前)进行排序,对吗?为什么不让你的
Point类IComparable和/或使用明显的Array.Sort 重载之一? -
如何使用
IComparable做到这一点?
标签: c# string sorting arraylist