CreateSpecificCulture('zh-cn')和new CultureInfo('zh-cn')的区别

最近在看.net资源的文章时发现以下两句代码:
Thread.CurrentThread.CurrentUICulture  =   new  CultureInfo( ' zh-cn ' );
Thread.CurrentThread.CurrentCulture 
=  CultureInfo.CreateSpecificCulture( ' zh-cn ' );

不是很了解,经过一翻百度,得出以下结果:

两者基本上是相同的,就算是静态的CultureInfo.CreateSpecificCulture方法,其内部也是调用CultureInfo构造函数。不同的是CultureInfo.CreateSpecificCulture在调用CultureInfo构造函数时,如果有错误发生,它会帮您做必要的处理。当它发现您的参数无法建立起来时,CreateSpecificCulture会检查是否有此参数开头的名称。如果有会帮您建立。所以CreateSpecificCulture也不是永远不会出错。

你可以尝试以下代码:

CultureInfo ci = CultureInfo.CreateSpecificCulture("zh-");  //ok不出错
CultureInfo ci = CultureInfo.CreateSpecificCulture("zh-cn");  //ok不出错

CultureInfo ci = CultureInfo.CreateSpecificCulture("z-cn"); //出错

所以CreateSpecificCulture只是会帮你做额外的检查而已。

转载于:https://www.cnblogs.com/baoposhou/archive/2007/01/09/615791.html

猜你喜欢

转载自blog.csdn.net/weixin_33695082/article/details/93551701