何时使用 XmlConvert.ToString vs Object.ToString()



我什么时候应该使用XmlConvert.ToString来转换给定值与给定类型的ToString方法。

例如:

int inputVal = 1023;

我可以使用任一方法将此inputVal转换为字符串表示:

string strVal = inputVal.ToString();

string strVal = XmlConvert.ToString(inputVal);

使用XmlConvert.ToString与执行普通Object.ToString的规则是什么?

XmlConvert.ToString 方法与区域设置无关,因此字符串表示形式在不同的区域设置中保持一致。使用 Object.ToString,您可能会根据与线程关联的当前区域性获得不同的表示形式。

因此,使用一个与另一个是场景问题,如果您正在与另一个系统交换数据并希望一致的文本表示(例如double值),则XmlConvert非常有用。

您可以在以下示例中看到差异:

double d = 1.5;
Thread.CurrentThread.CurrentCulture = new CultureInfo("pt-PT");
Console.WriteLine(d.ToString());            // 1,5
Console.WriteLine(XmlConvert.ToString(d));  // 1.5
Thread.CurrentThread.CurrentCulture = new CultureInfo("en-US");
Console.WriteLine(d.ToString());            // 1.5
Console.WriteLine(XmlConvert.ToString(d));  // 1.5

相关内容

最新更新