我想根据字符在 Unicode 表中的序号位置(码位)对字符数组进行排序。
我看到以下代码有效:
char[] charArray = new[] { 'h', 'e', 'l', 'l', 'o' };
Array.Sort(charArray, StringComparer.Ordinal);
但它看起来有点奇怪。首先是因为这两个参数都是非泛型的,其次,这里我使用 StringComparer 来比较字符。
这能保证有效吗?任何参考?
OrderBy(chr => chr)
可以解决问题。 char
是IComparable
的,该可比较的定义比较字符的整数/"序数"值。