Почему я могу создать культуру «en-UN», если ее не существует?C#

Место общения программистов C#
Ответить
Anonymous
 Почему я могу создать культуру «en-UN», если ее не существует?

Сообщение Anonymous »

Он работает на компьютерах разработчиков, но не на некоторых серверах (по крайней мере, не на сервере 2012 R2), поэтому я пытался выяснить, что и почему.
Поэтому я попытался вручную создать CultureInfo с «en-UN», который работает и получает отображаемое имя «English (United Nations)», поэтому я предполагаю, что он существует где-то на моем компьютере.
Но когда я пытаюсь найти его во всех CultureInfos, это не так. там?
Я не понимаю, откуда берется информация о культуре, поскольку она не является частью CultureTypes.AllCultures, может кто-нибудь объяснить мне это?
System.Globalization.CultureInfo? test = new("en-UN", false);
string resultString = "Manually created: " + (test?.DisplayName ?? "NULL") + "\r\n";

foreach (CultureTypes cultureType in Enum.GetValues())
{
test = System.Globalization.CultureInfo.GetCultures(cultureType).Where(x => x.Name == "en-UN").FirstOrDefault();
resultString += "Found in " + cultureType.ToString() + ": " + (test?.DisplayName ?? "NULL") + "\r\n";
}

результат:
Manually created: English (United Nations)

Found in NeutralCultures: NULL

Found in SpecificCultures: NULL

Found in InstalledWin32Cultures: NULL

Found in AllCultures: NULL

Found in UserCustomCulture: NULL

Found in ReplacementCultures: NULL

Found in WindowsOnlyCultures: NULL

Found in FrameworkCultures: NULL
Ответить

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

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

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

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

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