【发布时间】:2014-01-04 08:41:17
【问题描述】:
我有以下代码用于将字节数组的内容复制到结构数组中。但是,当我使用它时,我收到“索引超出范围异常”。怎么了?
public struct pix
{
public byte b;
public byte g;
public byte r;
};
namespace ConsoleApplication4
{
class Program
{
static byte[] bmp = File.ReadAllBytes("D:\\x.bmp");
static pix[,] img;
static void Main(string[] args)
{
int wi = 320;
int hi = 240;
int i=54;
img = new pix[wi-1, hi-1];
Console.Write(bmp.Length-54);
for (int y = hi-1; y > 0; y--)
{
for (int x = wi-1; x > 0; x--)
{
img[x,y].b = bmp[i];
img[x,y].g = bmp[i + 1];
img[x,y].r = bmp[i + 2];
i = i + 3;
}
}
}
}
【问题讨论】:
-
bmp[i + 1]; -- i 在哪里?
-
@Digital_Reality
int hi在同一行之后 -
调试代码的时候出现在哪一行的异常?
-
@jamesakadamingo 在这行:"img[x,y].b = bmp[i];"