将字符串数组排序为Int

1 .net c# arrays arraylist icomparer

有没有办法使用IComparer与ArrayList.Sort()将一组字符串排序为整数?

Joe*_*orn 8

如果它们都是字符串,为什么使用ArrayList?如果你在NET 2.0或更高版本, List<string>很多更好的选择.

如果您使用的是.Net 3.5或更高版本:

var result = MyList.OrderBy(o => int.Parse(o.ToString() ) ).ToList();
Run Code Online (Sandbox Code Playgroud)


Jar*_*Par 6

当然.只需创建进行转换的相应比较器即可.

public class StringAsIntComparer : IComparer {
  public int Compare(object l, object r) {
    int left = Int32.Parse((string)l);
    int right = Int32.Parse((string)r);
    return left.CompareTo(right);
}
Run Code Online (Sandbox Code Playgroud)