Это сообщение 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, которые, как я подозреваю, являются причиной этого, хотя я не совсем уверен, какое решение должно обойти это без необходимости что-то писать. custom: https://learn.microsoft.com/en-us/dotne ... zation-icu
Есть ли решение для этого, которое я могу использовать в 4.7.2 для расположить английские слова последними без необходимости писать что-то свое?
Подробнее здесь: https://stackoverflow.com/questions/791 ... s-on-diffe