如何在string.join()中指定InvariantCulture ?



我已经编写了下面的代码,其中我试图使用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));

相关内容

  • 没有找到相关文章

最新更新