1


0

IComparerをArrayList.Sort()と共に使用して文字列のグループを整数としてソートする方法はありますか?

3 Answer


8


それらがすべて文字列の場合、なぜArrayListを使用しているのですか。 あなたがオンの場合 .Net 2.0 or later, List is a much better choice.

NET 3.5以降を使用している場合
var result = MyList.OrderBy(o => int.Parse(o.ToString() ) ).ToList();


6


もちろんです。 変換を行う適切な比較子を作成するだけです。

パブリッククラスStringAsIntComparer:IComparer {public int(オブジェクトl、オブジェクトr){int left = Int32.Parse((string)l); int right = Int32.Parse((string)r); left.CompareTo(right)を返します。 }


1


Joelの解決法に基づくわずかなバリエーション

string [] strNums = {"111"、 "32"、 "33"、 "545"、 "1"、 ""、 "23"、null}; var nums = strNums.Where(s => {int result; return!string.IsNullOrEmpty(s)

foreach(int num in num){Console.WriteLine(num);} }