0
int[][] myArray = new int[10][];

foreach (int[] eachArray in myArray) {
eachArray = new int[2]
}

次の配列を作成する必要があると思います

{ 0 , 0 }
{0 , 0}
.........

ギザギザの配列が紛らわしい……。

4

2 に答える 2

4

これにより、探しているギザギザの配列は作成されません。int[2]元の配列のスロットではなく、反復変数に新しいインスタンスを割り当てようとしています。readonly反復変数はコンパイラーによって扱われるため、これはコンパイルされません。

これを行う方法は、forループを使用することです

for (var i = 0; i < myArray.Length; i++) {
  myArray[i] = new int[2];
}
于 2012-02-02T22:44:01.790 に答える
3

ループ内のループ変数への割り当てforeachは許可されていません。カウンター付きの通常のforループが必要です。または、少し凝ったものを試すこともできます。

int[][] myArray = Enumerable.Range(0, 10).Select(i => new int[2]).ToArray();
于 2012-02-02T22:44:32.893 に答える