C# LINQ OrderBy с явным языком и региональными параметрами возвращает разные результаты в разных версиях .NET.C#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 C# LINQ OrderBy с явным языком и региональными параметрами возвращает разные результаты в разных версиях .NET.

Сообщение Anonymous »

У меня есть список английских и корейских слов, который я пытаюсь упорядочить так, чтобы корейские слова располагались первыми, а английские слова — последними.
Это сообщение SO моя точная проблема: порядок C# linq в зависимости от языка
Однако мне не удалось заставить это работать в моем приложении .NET 4.7.2 MVC. Я использовал тот же код из этого поста:

Код: Выделить всё

string[] stringArray = new string[] { "NIKE", "한글", "adidas", "한글Korean" };

CultureInfo ci = CultureInfo.GetCultureInfo("ko-KR");
StringComparer comp = StringComparer.Create(ci, true);

var ordered = stringArray.OrderBy(s => s, comp);
var output = string.Join(", ", ordered.ToArray());
В моем приложении 4.7.2 выводится «adidas, NIKE, 한글, 한글Korean», а это не то, что мне нужно.
Я был Непонятно, почему это не работает, поэтому я попробовал консольное приложение .NET 8, и с тем же фрагментом кода на выходе было «한글, 한글Korean, adidas, NIKE», а это именно то, что мне нужно.
Я нашел этот документ, в котором упоминаются изменения глобализации, начиная с .NET 5, которые, как я подозреваю, являются причиной этого, хотя я Я не совсем уверен, как можно обойти эту проблему без необходимости писать что-то свое: https://learn.microsoft.com/en-us/dotne ... zation-icu
Есть ли решение для этой проблемы, которое я мог бы использовать в версии 4.7.2, чтобы упорядочить английские слова последними без необходимости писать что-то свое?

Подробнее здесь: https://stackoverflow.com/questions/791 ... s-on-diffe
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

Вернуться в «C#»