.net CultureInfo противоречивый CultureInformation после юбилейного обновления Windows10

После юбилейного обновления Windows10 у меня возникла странная проблема с CultureInfo и NumberFormat (особенно с NumberGroupSeparator).

Этот пример приложения показывает проблему (мой системный язык де-на):

   private static void Main(string[] args)
        {

            foreach (var cultureInfo1 in CultureInfo.GetCultures(CultureTypes.AllCultures))
            {
                var cultureInfo2 = CultureInfo.GetCultureInfo(cultureInfo1.Name);
                if (cultureInfo1.NumberFormat.NumberGroupSeparator != cultureInfo2.NumberFormat.NumberGroupSeparator)
                    Console.WriteLine(
                        $"{cultureInfo1.Name}: {cultureInfo1.NumberFormat.NumberGroupSeparator} !=  {cultureInfo2.NumberFormat.NumberGroupSeparator}");
            }
            Console.WriteLine("finished");
        }

Вывод перед обновлением:

finished

Вывод после юбилейного обновления Windows10:

de-AT: . !=  
finished

Проблема в том, что мы используем в нашем коде метод GetCultureInfo(...), и в каждой системе с новым обновлением Win10 наш импортер csv не работает, потому что разделитель групп неверен.

Я попробовал этот пример приложения на разных системах с обновлением и без него. Даже с тем же результатом.

Кто-нибудь может объяснить это?

0 ответов

Другие вопросы по тегам