我应该何时使用XmlConvert.ToString
转换给定值与给定类型的ToString
方法。
例如:
int inputVal = 1023;
我可以使用以下任一方法将此inputVal
转换为字符串表示形式:
string strVal = inputVal.ToString();
或
string strVal = XmlConvert.ToString(inputVal);
使用XmlConvert.ToString
与执行普通Object.ToString
的规则是什么。
答案 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