[英]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.