Я хотел бы отсортировать массив символов в соответствии с их порядковыми позициями (кодовыми точками) в таблице Unicode.Любая ссылка, подтверждающая, что Array.Sort (charArray, StringComparer.Ordinal) работает?
Я вижу, что следующий код работает:
char[] charArray = new[] { 'h', 'e', 'l', 'l', 'o' };
Array.Sort(charArray, StringComparer.Ordinal);
Но это выглядит немного странно. Во-первых, потому что оба эти параметра являются неэквивалентными, а во-вторых, здесь я использую StringComparer для сравнения символов.
Гарантировано, что это работает? Любая ссылка?
'StringComparer' в данном примере просто сравнивает сравнение с' IComparable.CompareTo' ([источник] (http://referencesource.microsoft.com/#mscorlib/system/stringcomparer.cs,91)). Вы также можете использовать сопоставление по умолчанию. – PetSerAl
@PetSerAl ничего себе, что плохо разработан API. StringComparer должен * fail * при вызове с нестрочными. – usr
Итак, я думаю, ответ таков: это работает, но не делайте этого. – usr