.net - 文化不可变对象(immutable对象) ToString()

标签 .net formatting culture cultureinfo

如何在对象上调用 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/

相关文章:

c# - 方法可以静态化,但应该吗?

c# - 寻找快速测试 C# 格式字符串的工具

c# - 当前区域性 - 显示欧元符号 (€) 而不是 EUR 字符串

c# - DateTime.ToString 格式化并将结果字符串反转回日期时间

c# - 如何仅使用 InvariantCulture 渲染某些特定模型字段,而其余部分继续使用用户区域性?

c# - 为什么 String.Contains 在此查询中不区分大小写?

c# - .NET 中的字符串标记

c# - 如何证明 .NET CLR JIT 每次运行只编译每个方法一次?

Vim:重新格式化和重新缩进注释的自动方式?

html - 如何在单行中使用列表标签