我正在尝试使用以下方法更改内置的 .Net 区域性 fr-CA:
CultureAndRegionInfoBuilder cib = new CultureAndRegionInfoBuilder("fr-CA", CultureAndRegionModifiers.Replacement);
try
{
Console.WriteLine("Updating " + cib.CultureName);
cib.NumberFormat.CurrencyGroupSeparator = ",";
cib.NumberFormat.CurrencyDecimalSeparator = ".";
cib.NumberFormat.NumberGroupSeparator = ",";
cib.NumberFormat.NumberDecimalSeparator = ".";
cib.Register();
Console.WriteLine("Culture updated.");
}
catch (Exception e)
{
Console.WriteLine(e);
Console.ReadKey();
}
但是,Register() 调用失败并显示“System.InvalidOperationException:‘Register’方法失败,因为自定义区域性‘fr-CA’已经存在。”
是否可以更新内置文化?根据文档 ( http://msdn.microsoft.com/en-us/library/system.globalization.cultureandregioninfobuilder.cultureandregioninfobuilder.aspx ),看起来我可以更新它,尽管我可能读错了。
我只需要添加:
CultureAndRegionInfoBuilder.UnRegister("fr-CA");
在 Register() 之前。
我是一名优秀的程序员,十分优秀!