.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 не работает, потому что разделитель групп неверен.
Я попробовал этот пример приложения на разных системах с обновлением и без него. Даже с тем же результатом.
Кто-нибудь может объяснить это?