C# 何时使用XmlConvert.ToString vs Object.ToString()
我应该在什么时候使用C# 何时使用XmlConvert.ToString vs Object.ToString(),c#,C#,我应该在什么时候使用XmlConvert.ToString转换给定的值,而不是对给定类型使用ToString方法 例如: int inputVal = 1023; 我可以使用以下任一方法将此inputVal转换为字符串表示: string strVal = inputVal.ToString(); 或 使用XmlConvert.ToString与使用普通Object.ToString相比,使用XmlConvert.ToString方法的规则是什么与区域设置无关的,因此字符串表示形式将在不同区
XmlConvert.ToString
转换给定的值,而不是对给定类型使用ToString
方法
例如:
int inputVal = 1023;
我可以使用以下任一方法将此inputVal
转换为字符串表示:
string strVal = inputVal.ToString();
或
使用
XmlConvert.ToString
与使用普通Object.ToString相比,使用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
谢谢你的回答。我没有从微软的文档中找到这些。
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