c# – 什么“中性文化”打破了DateTime.TryParse()?
作者:互联网
我有以下代码片段
DateTime date1;
CultureInfo neutralCulture = new CultureInfo("fr");
bool isNeutral = neutralCulture.IsNeutralCulture; // True
DateTime.TryParse("not a date", neutralCulture, DateTimeStyles.AdjustToUniversal, out date1);
然而,在没有抛出异常的情况下执行,the documentation声明
NotSupportedException: provider is a neutral culture and cannot be used in a parsing operation.
“fr”是一种中性文化,正如上面CultureInfo对象上的属性所证明的那样,所以我希望这段代码能够破解.
什么“中立文化”打破了这种方法 – 这在任何地方都有记录吗?
解决方法:
我对所有中性文化进行了快速测试,甚至没有人抛出异常,如下所示:
CultureInfo[] cultures = CultureInfo.GetCultures(CultureTypes.NeutralCultures);
foreach (var thisCulture in cultures)
{
DateTime date1;
CultureInfo neutralCulture = new CultureInfo(thisCulture.Name);
bool isNeutral = neutralCulture.IsNeutralCulture; // True
DateTime.TryParse("not a date", neutralCulture, DateTimeStyles.AdjustToUniversal, out date1);
}
我不确定从中得出什么结论.文件可能有误吗?谁知道.
标签:c,net,globalization 来源: https://codeday.me/bug/20190701/1349424.html