У меня есть следующий код для копирования содержимого байтового массива в массив структур. Однако, когда я его использую, я получаю «Исключительное исключение из диапазона». Что не так?Почему я получаю исключение индекса из диапазона при копировании массива Byte в массив Struct?
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' в той же строке – user1781290
Когда вы отлаживаете код на какой строке возникает исключение? – melodiouscode