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

时间:2012-08-11 10:15:32

标签: c#

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

例如:

int inputVal = 1023;

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

string strVal = inputVal.ToString();

string strVal = XmlConvert.ToString(inputVal);

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

1 个答案:

答案 0 :(得分:2)

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

因此,使用一个与另一个是一个场景问题,如果您与另一个系统交换数据并且想要一致的文本表示,例如XmlConvert值,则double会很好。

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

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