c# - 当我的应用程序不会迁移时,我应该关心文化吗?

标签 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

最佳答案

Since the chances are great that my app will only be used in the U.S.

即使您的应用仅在美国使用,如果您的目标受众群体较大,用户也总有可能自定义其区域设置或使用不同区域进行系统设置。

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

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

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

关于c# - 当我的应用程序不会迁移时,我应该关心文化吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10940325/

相关文章:

c# - .net 的 Windows.Forms.DataVisualization.Charting 程序集是否有替代方案?

architecture - 什么是传递引用?

visual-studio - 如何恢复我的 ReSharper 生成文档标题的快速修复?

c# - 模型枚举字段的 ASP.NET 自定义错误消息

C# 从数据库中的表填充组合框

c# - 无法解释的 OverflowException 将表示屏幕坐标的 IntPtr 转换为 Int32

unit-testing - 使用 resharper v10 重新运行失败的测试

c# - LDAP SetPassword 访问被拒绝

c# - MONO 客户端和 ASP.NET 服务器之间的序列化/反序列化 - 可能吗?

c# - 伙计,我的目标在哪里?或者,为什么 Linq 不返回我的对象​​?