2

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

例如 :

int inputVal = 1023;

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

string strVal = inputVal.ToString();

或者

string strVal = XmlConvert.ToString(inputVal);

使用XmlConvert.ToString与做普通的规则是什么Object.ToString

4

1 回答 1

3

这些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
于 2012-08-11T10:20:56.193 回答