1

ArrayList.Sort() で IComparer を使用して、文字列のグループを int として並べ替える方法はありますか?

4

3 に答える 3

10

それらがすべて文字列の場合、なぜ ArrayList を使用しているのですか? .Net 2.0 以降を使用している場合 List<string>は、はるかに優れた選択です。

.Net 3.5 以降を使用している場合:

var result = MyList.OrderBy(o => int.Parse(o.ToString() ) ).ToList();
于 2009-07-24T17:33:14.477 に答える
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);
}
于 2009-07-24T17:32:34.087 に答える