C# 将字符串列表转换为CGPoint数组
我有一个问题,我甚至不确定是否可以解决,但如果可能的话,我真的需要一些帮助。 我所做的工作的基础是使用CGPoint数组存储一个签名中的多个CGPoint,然后将该数组中的每个值存储到本地SQLite上的字符串数组中 我希望他们检索这个SQLite数据,并在清除后将其传递回同一个列表。我需要将此列表转换为CoreGraphics.CGPoint数组,以便将数组重新显示到签名区域。我尝试过各种方法,但似乎不可能 希望有人能帮我解决这个问题 编辑 这就是我如何将CGPoint数组转换为列表的方法C# 将字符串列表转换为CGPoint数组,c#,ios,xamarin,xamarin.ios,C#,Ios,Xamarin,Xamarin.ios,我有一个问题,我甚至不确定是否可以解决,但如果可能的话,我真的需要一些帮助。 我所做的工作的基础是使用CGPoint数组存储一个签名中的多个CGPoint,然后将该数组中的每个值存储到本地SQLite上的字符串数组中 我希望他们检索这个SQLite数据,并在清除后将其传递回同一个列表。我需要将此列表转换为CoreGraphics.CGPoint数组,以便将数组重新显示到签名区域。我尝试过各种方法,但似乎不可能 希望有人能帮我解决这个问题 编辑 这就是我如何将CGPoint数组转换为列表的方法 v
var tempSignatureArray = signatureView.Points;
foreach (var item in tempSignatureArray)
{
var tempItem = item.ToString();
FormResults.signaturePoints.Add(tempItem);
}
这是我用各种其他方法尝试过的,我现在已经摆脱了:
var test = FormResults.signaturePoints.ToArray();
CoreGraphics.CGPoint[] pointArray = test;
编辑2
下面是字符串列表中实际存储的内容
{X=394.4296875, Y=71.359375}
{X=399.125, Y=71.875}
{X=405.2578125, Y=72.453125}
{X=412.5, Y=73}
{X=421.6875, Y=73.546875}
{X=432.6875, Y=74.125}
您使用foreach进行了初始转换,您是否也使用foreach进行了反向转换
List<CGPoint> pointList = new List<CGPoint>();
foreach (var p in FormResults.signaturePoints)
{
// p is the string representation
// you will need to do some parsing to convert the string p into x,y coords
pointList.Add(new CGPoint(x,y));
}
pointArray = pointList.ToArray();
请向我们展示您用于将数据转换为字符串数组的代码,并向我们展示您尝试执行哪些操作来反转processEdit已添加以显示您所请求的内容EDI将用于JSon序列化和反序列化,更加方便和稳定。谢谢。我遇到的问题是解析如何将字符串转换为x和y坐标?字符串看起来像什么?你在OP中包含的相关信息越多,你得到答案的速度就越快,而不必反复询问额外的细节。是的,对不起,杰森,对这一点还是很陌生的,所以要习惯它。我添加了一个显示输出的编辑。还有更多,但它们的格式不同。好的,我会试试这个,让你知道进展如何。谢谢
var s = "{X=394.4296875, Y=71.359375}";
var ss = s.Split(',');
var x1 = ss[0] .Substring(3, ss[0].Length-3);
double x = Double.Parse(x1);
var y1 = ss[1].Substring(3, ss[1].Length-3);
y1 = y1.Substring(0,y1.Length-1);
double y = Double.Parse(y1);