2016-05-10 14 views
-1

文字列をギザギザのint配列に変換する際に問題があります。私はlinqを使用してtryedが、それを動作させることはできません。どのように私はそれを行うことができますどのような提案? 「」その後、ブラケットを取り外して、によって分割、文字列をギザギザの整数の配列に変換する

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

まずスプリット文字列配列表現、そして最後にstring、コレクションの各要素をキャスト:

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)); 
+0

と、このサンプルを試して動作しないようです。ブレークポイントを置き、 'myStrings'を調べます。 – Lunyx

答えて

1

は、私はあなたがこのような何かを探していると思いますintに、ToArray拡張メソッドを呼び出してください。

1

解析があなたの分割出力が全てをintに変換することができる要素で構成されていないため、理由の][シンボル

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

関連する問題