Это сообщение 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());
Я был Непонятно, почему это не работает, поэтому я попробовал консольное приложение .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