Любая ссылка, которая подтверждает, что Array.Sort(charArray, StringComparer.Ordinal) работает?
Я хотел бы отсортировать массив символов в соответствии с их порядковыми позициями (кодовые точки) в таблице Unicode.
Я вижу, что следующий код работает:
char[] charArray = new[] { 'h', 'e', 'l', 'l', 'o' };
Array.Sort(charArray, StringComparer.Ordinal);
Но это выглядит немного странно. Во-первых, потому что оба эти параметра не являются общими, а во-вторых, здесь я использую StringComparer для сравнения символов.
Это гарантированно сработает? Любая ссылка?
1 ответ
Решение
OrderBy(chr => chr)
делает трюк. char
является IComparable
и это сопоставимое определение сравнивает целое /"порядковое" значение символов.