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

B. *_*non 2 c# resharper cultureinfo winforms

ReSharper希望改变这个:

platypusID = DuckbillValues[i - 1].ToString();
Run Code Online (Sandbox Code Playgroud)

..到这个:

platypusID = DuckbillValues[i - 1].ToString(CultureInfo.InvariantCulture);
Run Code Online (Sandbox Code Playgroud)

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

1) Smart
2) Dumb
3) Neither smart nor dumb
4) Smart, but not for that reason
5) Dumb, but not for that reason
Run Code Online (Sandbox Code Playgroud)

Ree*_*sey 6

由于很有可能我的应用程序只会在美国使用

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

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

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

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