我什么时候应该使用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