什么时候使用不变文化?

时间:2012-06-26 18:29:37

标签: .net cultureinfo

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

Dim hh As Decimal = 123456789.123456

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

2 个答案:

答案 0 :(得分:7)

  

使用CultureInfo.InvariantCulture不好吗?

这完全取决于你想要实现的目标。如果您尝试将值格式设置为 machine -readable,那么它几乎总是正确的。如果您尝试为用户设置格式,则可能不合适。

  

它会影响全球文化吗?

在方法调用中指定不变文化不会改变当前线程的当前文化,如果这是您所担心的。

答案 1 :(得分:6)

  

使用CultureInfo.InvariantCulture不好吗?

没有。它存在是有原因的。它允许您以一致,可靠的方式解析文本,无论当前的系统文化是什么。

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