在Windows10周年纪念日更新后,我遇到了CultureInfo和NumberFormat(特别是NumberGroupSeparator)的问题。
此示例应用程序显示问题(我的系统语言是de-at):
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导入器都不起作用,因为组分隔符是错误的。
我在使用和不使用更新的不同系统上尝试了此示例应用程序。即使有相同的结果。
任何人都能解释一下吗?