指数数组的边界之外

时间:2012-05-02 13:14:14

标签: c# visual-studio-2010

这是我的代码,我收到错误“索引超出了数组的范围。”

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
     }

什么似乎是问题野兔,因为我找不到问题。

2 个答案:

答案 0 :(得分:12)

数组是0索引而不是1。

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
     }

答案 1 :(得分:0)

在C#中,默认情况下,数组是从零开始的(即第一个元素的索引为0)。

因此,您需要从objectData[i, 0]开始,以objectData[i, 3]结束。