Dot-Net

文化不變對象 ToString()

  • September 17, 2011

如何呼叫ToString()一個對象並使其使用不變的文化?ToString()實現的對像有重載IConvertible(如 bool、int、float..),但如果有問題的對像不是IConvertible呢?

我認為IFormattable是相關的介面。它有一個ToString方法可以讓你指定格式提供者,它可以是一種文化。

該類System.Convert有一個靜態ToString重載,它需要一個object.

Convert.ToString(obj, CultureInfo.InvariantCulture);

根據我的基準,這大約是速度的兩倍string.Format(CultureInfo.InvariantCulture, "{0}", value),更重要的是,它看起來更乾淨。但是,如果您已經在建構字元串,我建議您使用 FormattableString.Invariant。

FormattableString.Invariant($"Object value: {obj}")

引用自:https://stackoverflow.com/questions/7457891