2011-03-21 19 views
4

私は既にいくつかの配列のトピックを見てきましたが、私はまだ困惑しています。ギザギザの配列に項目を追加する

私はジャグ配列に新しい行を追加したい

- 配列だから今は

 intJaggedArray[0] = new int[3] { 1, 1, 2 }; 

を追加したいのであれば

 int[][] intJaggedArray = new int[7][]; 

     intJaggedArray[0] = new int[3] { 1, 1, 1 }; 
     intJaggedArray[1] = new int[3] { 2, 2, 2 }; 
     intJaggedArray[2] = new int[3] { 3, 3, 3 }; 
     intJaggedArray[3] = new int[3] { 4, 4, 4 }; 
     intJaggedArray[4] = new int[3] { 5, 5, 5 }; 
     intJaggedArray[5] = new int[3] { 6, 6, 6 }; 
     intJaggedArray[6] = new int[3] { 7, 7, 7 }; 

...と構文の権利を取得するためにstrugigngています次のようになります。どのように私はそれを達成するのですか?事前に感謝 - イギリスからのnoob。 (事前に大感謝)

 intJaggedArray[0] = new int[3] { 1, 1, 1 }; 
     intJaggedArray[0] = new int[3] { 1, 1, 2 }; 
     intJaggedArray[1] = new int[3] { 2, 2, 2 }; 
     intJaggedArray[2] = new int[3] { 3, 3, 3 }; 
     intJaggedArray[3] = new int[3] { 4, 4, 4 }; 
     intJaggedArray[4] = new int[3] { 5, 5, 5 }; 
     intJaggedArray[5] = new int[3] { 6, 6, 6 }; 
     intJaggedArray[6] = new int[3] { 7, 7, 7 }; 
+1

部分は非常に明確ではありません「ので、配列を示すのようになってしまいます」。これらの「**」マーカーは何を意味しますか?あなたの現在のコードは、最初の配列を置き換えるためにOKです。 –

+0

編集者の大胆な悪い/間違った - 意図しない。 – Gopher2011

+0

編集後、サンプルにはインデックス0に2行が残っています。明らかに、行を置き換えるか、行を挿入しますか? –

答えて

2

何をしたいですか? 0と1の間に行を挿入しますか?または、既存の行0を置き換えますか?

あなたのライン:

intJaggedArray[0] = new int[3] { 1, 1, 2 }; 

は、単にあなたが配列内の行を挿入することはできません既存のライン0

を置き換えます。

List<int[]> myList = new List<int[]>(); 
myList.Add(new int[] {...}); 
myList.Add(new int[] {...}); 
myList.Add(new int[] {...}); 

... 

myList.Insert(1, new int[] {...}); 
をそれとも、既存の行を置き換えたい場合は、単に:これを行うには、代わりにリストを使用

+0

ありがとう、これは素晴らしかった - 私はリストを試してみる。 – Gopher2011

+0

新しい追加ラインを挿入 – Gopher2011

2

あなたは次にあなたが特定のインデックスでそれに項目を挿入することができ、コレクションやList<int[]>

を作成することもできます。

List<int[]> x = new List<int[]>(); 
x.Insert(3, new int[3] { 1, 2, 3 }); 
1

初期リストを可変長にする場合は、配列を使用できません。代わりにリストを使用してください。

これは動作するはずです:

List<int[]> intJaggedList = new List<int[]>(); 
intJaggedList.Add(new int[3] { 1, 1, 1 }); 
intJAggedList.Add(new int[3] { 2, 2, 2 }); 
... 

次に、あなたの新しい配列を挿入するには:

intJaggedList.Insert(1, new int[3] { 1, 1, 2 }); 
関連する問題