C# сортирует список строк с учетом конкретной скандинавской культуры

у меня есть список названий стран. Теперь я хочу отсортировать их по алфавиту с учетом культуры пользователей. У меня есть 4 скандинавские культуры Норвегия, Швеция, Дания и Финляндия.

Для Швеции буква Ö (O с двумя точками, если она напечатана неправильно) должна стоять в конце после Z, но для Дании это просто буква O, поэтому она должна стоять после N.

Я уже проделал некоторую работу, чтобы создать O вместо Ö для Danmark, но оставил Ö для Швеции.

Но List.sort не имеет перегрузки для информации о культуре, только для сравнения строк. Но в stringcomparer не может предоставить информацию о культуре?

Мишель


person Michel    schedule 09.10.2009    source источник


Ответы (1)


Если вы используете С#, вы можете попробовать это

List<string> s = new List<string>();
            s.Sort(delegate(string item1, string item2) { return String.Compare(item1,item2, false, new CultureInfo("")); });
person Adriaan Stander    schedule 09.10.2009
comment
Спасибо, это сработало. Может быть, это немного не по теме, но сортировка по культурной информации «sv-SE» дает мне Ø после Z, и, насколько я могу найти, Ø не является отдельной буквой в шведском алфавите. - person Michel; 09.10.2009