C# 当我的应用程序不会移民时,我是否应该关心文化?

C# 当我的应用程序不会移民时,我是否应该关心文化?,c#,winforms,resharper,cultureinfo,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 r

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
因为我的应用程序只在美国使用的可能性很大

即使您的应用程序仅在美国使用,但如果您的目标受众众多,用户也有可能自定义其区域设置或使用其他区域进行系统设置

无论用户做什么,使用
InvariantCulture
都是安全的。考虑到这是在设置一个“id”,我个人很可能会强制区域性设置为
InvariantCulture
,以保证以后不会得到奇怪的结果

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


另外,由于您正在使用ReSharper,它已经警告您这一点。你已经到了。实际上,遵守良好的编码标准比忽略警告要容易得多,这使得我们很难找到不指定区域性的理由。

您已经知道答案了。如果你想找一点同龄人的压力来促使你写更好的代码,这里有一个:1。另一方面,如果你希望我们支持你的懒惰倾向,也许其他人会同意。是的,你应该这样做,现在可能不行。经验表明,一旦你决定不处理这类问题,重要人物就不会使用美国文化。你如何确保只有使用美国地区的人才会使用美国文化?至少,成本应该可以忽略不计,因为准备将副本运送到日本、墨西哥或加拿大,或由美国某个认为该地区最舒适的人使用是一种胜利。你正在使用一种工具来为你做出改变。你为什么不想让它帮助你编写更好的代码?@ClayShannon如果你想让你列出的最后一个ID是有效的,你需要更改你的代码。。。如果没有明确的格式,就不会得到前导零。