繁体   English   中英

为什么将字符串路径转换为Geometry然后再次返回会引发FormatException?

[英]Why converting a string path to Geometry and back again throws a FormatException?

我需要将字符串路径转换为Geometry并再次返回。

第一步是转换我的路径: "M 100 100 L 300 100 L 200 300 z" 为此,我使用Geoemtry.Path方法,该方法从指定的字符串创建一个新的Geometry实例:

var geometry = Geometry.Parse("M 100 100 L 300 100 L 200 300 z");

对于这种几何,我需要在数据结构中存储使用Geometry.ToString方法获得的路径:

string str = geometry.ToString();
// And this is my str: "M100;100L300;100 200;300z"

现在,我想使用存储的路径重新创建相同的几何图形,因此我再次使用了Grometry.Parse方法:

// Here i get a FormatException
var geometry2 = Geometry.Parse(str);

问题是我收到了FormatException
这怎么可能? 我该如何解决?

我猜这是机器Culture的问题,因为它设置为en-Us以外的其他culture 因为在您的情况下, ToString()返回半冒号分隔的值时,路径值应以逗号/空格分隔以便进行解析。 Geometry转换为string时,尝试使用CultureInfo.InvariantCulture 它将修复异常

string str = geometry.ToString(CultureInfo.InvariantCulture);

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM