Проблема с SortedDictionary в C# 11 с .NET 4.8/глобализацияC#

Место общения программистов C#
Ответить Пред. темаСлед. тема
Anonymous
 Проблема с SortedDictionary в C# 11 с .NET 4.8/глобализация

Сообщение Anonymous »

Веб-сайт использует текущую культуру пользователя для отображения данных. Проблема возникла, когда пользователь из Вьетнама получил доступ к данным. Может ли кто-нибудь объяснить, почему возникают эти проблемы?
Код для воспроизведения ошибки:
static void SortedDicProblem(Action Write)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");

const string key = "KH";

SortedDictionary laCountries = new()
{
{ key, "Kambodscha " },
{ "KI", "Kiribati " },
{ "KM", "Komoren " },
};

foreach (CultureInfo loCult in System.Globalization.CultureInfo.GetCultures(CultureTypes.InstalledWin32Cultures))
{
Test(loCult.Name);
}

void Test(string vsCulture)
{
Thread.CurrentThread.CurrentCulture = new CultureInfo(vsCulture);

if (laCountries.TryGetValue(key, out string lsName))
{
Write($"{vsCulture}");
}
else
{
Write($"{vsCulture}, Key not found: {key}, {Thread.CurrentThread.CurrentCulture.EnglishName}");
}
}
}

Мы знаем, как это решить, но в чем причина этой ошибки?
Решение, позволяющее избежать проблемы: создайте экземпляр SortedDictionary с помощью StringComparer, например:
р>
new SortedDictionary(StringComparer.Ordinal)


Подробнее здесь: https://stackoverflow.com/questions/790 ... balization
Реклама
Ответить Пред. темаСлед. тема

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

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

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

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

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение
  • Проблема с SortedDictionary в C# 11 с .NET 4.8/глобализация
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Сортировать SortedDictionary по значению
    Anonymous » » в форуме C#
    0 Ответы
    22 Просмотры
    Последнее сообщение Anonymous
  • Есть ли умный способ реализовать эквивалент CeilingEntry Java TreeMap в C # SortedDictionary, в O (logn)?
    Anonymous » » в форуме C#
    0 Ответы
    37 Просмотры
    Последнее сообщение Anonymous
  • Ошибка Bad Gateway (502) при вызове API Core Core .NET .NET из другого API Core .NET .NET .NET .NET
    Anonymous » » в форуме C#
    0 Ответы
    10 Просмотры
    Последнее сообщение Anonymous
  • Ошибка Bad Gateway (502) при вызове API Core Core .NET .NET из другого API Core .NET .NET .NET .NET
    Anonymous » » в форуме C#
    0 Ответы
    12 Просмотры
    Последнее сообщение Anonymous

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