如何在对象上调用 ToString()
并使其使用不变的文化?
ToString()
在实现 IConvertible
的对象上存在重载(如 bool、int、float..),但如果有问题的对象不是 IConvertible
?
最佳答案
System.Convert
类有一个静态 ToString
重载,它采用 object
。
Convert.ToString(obj, CultureInfo.InvariantCulture);
基于 my benchmarks ,这大约是 string.Format(CultureInfo.InvariantCulture, "{0}", value)
的两倍,更重要的是,它看起来更干净。但是,如果您已经在构建字符串,我建议您使用 FormattableString.Invariant。
FormattableString.Invariant($"Object value: {obj}")
关于.net - 文化不可变对象(immutable对象) ToString(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7457891/