我已经编写了下面的代码,其中我试图使用string.join()
方法将类型double
的数组转换为string
值。然后,我将字符串值作为属性添加到XML元素。
XElement element = new("TestNode");
double[] myDoubleArray = new double[2] { 0.001, 1.0 };
var stringValue = string.Join(" ", myDoubleArray);
element.Add(new XAttribute("Values", stringValue));
上面代码的输出是
<TestNode Values="0,001 1" />
可以看出,由于我的系统语言是德语,所以0.001
的值被写成了0,001
。
问题:我如何创建一个空格分隔字符串从数组的双类型(在最少的代码行),同时维护InvariantCulture
?
遗憾的是,没有字符串。接受CultureInfo参数的连接重载。因此,您必须自己完成转换:
XElement element = new("TestNode");
double[] myDoubleArray = new double[2] { 0.001, 1.0 };
var myDoublesFormatted = myDoubleArray.Select(d => d.ToString(CultureInfo.InvariantCulture));
var stringValue = string.Join(" ", myDoublesFormatted);
element.Add(new XAttribute("Values", stringValue));