当我的应用程序不会移民时,我应该关心文化吗?

时间:2012-06-07 21:45:27

标签: c# winforms resharper cultureinfo

ReSharper希望改变这一点:

platypusID = DuckbillValues[i - 1].ToString();

..对此:

platypusID = DuckbillValues[i - 1].ToString(CultureInfo.InvariantCulture);

由于我的应用程序仅在美国使用的可能性很大,我将默认以下哪一项:

1) Smart
2) Dumb
3) Neither smart nor dumb
4) Smart, but not for that reason
5) Dumb, but not for that reason

1 个答案:

答案 0 :(得分:6)

  

由于我的应用程序仅在美国使用的机会很大。

即使您的应用仅在美国使用,如果您针对大量受众群体,用户也可以自定义其区域设置或使用其他区域进行系统设置。

无论您是用户做什么,使用InvariantCulture都是安全的。鉴于这是设置“id”,我个人最有可能强迫文化InvariantCulture,以保证我以后不会得到一个奇怪的结果。

这也使得将来更容易支持其他地区......您永远不会知道您的代码将在以后发生什么,无论是在此应用程序中还是在其他应用程序中。

此外 - 由于你正在使用ReSharper,它已经警告过你了。你已经在那里了。遵守良好的编码标准实际上比忽略警告更容易,这使得很难想出不指定文化的原因。