【发布时间】:2020-04-09 11:23:18
【问题描述】:
我有这个变量:
string coord = "[[1,2,3,4], [5,6,7,8], ...]";
最后我希望是:
double[][] d = [[1,2,3,4], [5,6,7,8], ...]
这是我已经尝试过的代码:
double[] d = coord.Split(",").Select(n => Convert.ToDouble(n)).ToArray();
它给了我一个错误:System.FormatException:'输入字符串的格式不正确。' 我的问题:
如何解决上述错误?
是否有任何适当的方法来进行这种转换,如果有人有伪代码来解决这种转换,它真的对我有很大帮助。
更新:
这是我想到的伪代码:
//convert string to one-dimensional array of double
//grap every 4 elements to be put on a single array
//add a single array that consist of 4 elements to the 2-dimensional array of double.
//Verify the result
【问题讨论】:
-
你不能用逗号分割,因为你有逗号来描述子数组和它们的各个元素。您需要找出一种方法来拆分子数组 first 然后拆分元素。一种可能的解决方案涉及正则表达式,但我相信还有更好的方法。
-
您可以尝试删除(“trim”)前导和尾随“[”和“]”,然后用“]、[”分割。然后你有一个字符串数组,如“1,2,3,4”和“5,6,7,8”。现在你可以用“,”分割每个元素,并将单个元素转换为双精度。
-
为什么不使用 JSON.NET 反序列化为(例如匿名)类?
标签: c# multidimensional-array type-conversion