0

これは、「インデックスが配列の範囲外でした」というエラーが発生するコードです。

var objectData = new object[colRindas.Count, 4];
     int i = 0;
     foreach (DeArtIzm izm in colRindas)
     {
         objectData[i, 1] = izm.ArtCode;
         objectData[i, 2] = izm.ArtName;
         objectData[i, 3] = izm.Price;
         objectData[i, 4] = izm.RefPrice;
         i++;//Place where I get that error
     }

問題のうさぎと思われるものは、問題が見つからないためです。

4

2 に答える 2

12

配列のインデックスは 1 ではなく 0 です。

foreach (DeArtIzm izm in colRindas)
     {
         objectData[i, 0] = izm.ArtCode;
         objectData[i, 1] = izm.ArtName;
         objectData[i, 2] = izm.Price;
         objectData[i, 3] = izm.RefPrice;
         i++;//Place where I get that error
     }
于 2012-05-02T13:15:49.117 に答える
0

C# では、配列はデフォルトでゼロベースです (つまり、最初の要素のインデックスは 0 です)。

したがって、で始まりobjectData[i, 0]、で終わる必要がありますobjectData[i, 3]

于 2012-05-02T13:16:03.823 に答える