C#将字符串转换为整数的jagged数组

时间:2016-05-10 12:55:09

标签: c# .net linq visual-studio

我将字符串转换为jagged数组的int有问题。我尝试使用linq,但无法使其工作。有什么建议我怎么办?

String Numbers = "[1, 2, 3, 4] [5, 6, 7, 8]";
        String [][] myStrings = output.Text.Split(']').Select(t => t.Split(',')).ToArray();
        int[][] ints = Array.ConvertAll(myStrings, t => int.Parse(t));

2 个答案:

答案 0 :(得分:1)

我认为你看起来像这样:

 var re= Numbers.Split(new[] { "] " },StringSplitOptions.RemoveEmptyEntries)
                .Select(s => s.Replace("[", "").Replace("]", "").Split(',').Select(st=>int.Parse(st)).ToArray())
                .ToArray();

首先拆分字符串数组表示,然后删除括号并用','拆分,最后将string集合的每个元素转换为int并调用ToArray扩展方法。

答案 1 :(得分:1)

由于][符号

,Parse似乎不起作用
String Numbers = "[1, 2, 3, 4] [5, 6, 7, 8]";

int [][] ints = 
    Numbers.Trim(']','[').Split(new [] {"] ["}, StringSplitOptions.RemoveEmptyEntries)
           .Select(t => t.Split(',').Select(s=>int.Parse(s)).ToArray())
           .ToArray();

使用Fiddle

尝试此示例