何时适合使用不变文化?

5

使用InvariantCulture是否不适当?如果使用,它会影响任何全局设置吗?

Dim hh As Decimal = 123456789.123456

' Is this an appropriate usage?
Dim ll As String = hh.ToString("N4", CultureInfo.InvariantCulture)
2个回答

7
使用CultureInfo.InvariantCulture是否不好?
这完全取决于您想要实现什么。如果您尝试格式化值以便于“机器”阅读,那几乎总是正确的。如果您尝试为用户格式化它们,则可能不合适。
它会影响全局文化吗?
在方法调用中指定不变文化不会更改当前线程的当前文化,如果您担心这一点。

6

使用CultureInfo.InvariantCulture会有什么问题吗?

没有问题。它存在是有原因的。它可以让你以一致、可靠的方式解析文本,不受当前系统区域设置的影响。

然而,它通常不应该用于解析用户输入,而是用于解析你知道以与InvariantCulture期望的相同方式编写的文本。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接