-2

Unicode テーブルの序数位置 (コード ポイント) に従って文字の配列を並べ替えたいと思います。

次のコードが機能することがわかります。

char[] charArray = new[] { 'h', 'e', 'l', 'l', 'o' };
Array.Sort(charArray, StringComparer.Ordinal);

しかし、それは少し奇妙に見えます。1 つ目は、これらのパラメーターは両方とも非ジェネリックであるためです。2 つ目は、ここでは StringComparer を使用して文字を比較しているためです。

これは動作することが保証されていますか? 参照はありますか?

4

1 に答える 1

2

OrderBy(chr => chr)トリックを行います。charでありIComparable、その同等の定義は、文字の整数/「序数」値を比較します。

于 2016-02-09T13:43:36.990 に答える