3

我有一个字节数组

byte[] d = new byte[64];

现在我想将它转换为二维字节数组,如..

byte[,] data = new byte[8,8];

谁可以帮我这个事

4

3 回答 3

6

这可能是一种方法。

byte[] d = new byte[64];
byte[,] data = new byte[8,8];

int row = 0;
int column = 0;

for(i=0; i < d.Length; i++)
{
   row = i%8;
   column = i/8;
   data [row, column] = d[i];    
}
于 2012-09-22T06:15:09.340 回答
4

您可以使用Buffer.BlockCopy 方法

byte[] d = new byte[64];
byte[,] data = new byte[8,8];

Buffer.BlockCopy(d, 0, data, 0, 64);
于 2012-09-22T06:20:00.747 回答
0

像这样的东西怎么样

byte[] d = new byte[64];

for (byte i = 0; i < d.Length; i++)
    d[i] = i;

byte[,] data = new byte[8, 8];

Enumerable.Range(0, 8).ToList().
    ForEach(i => Enumerable.Range(0, 8).ToList().
        ForEach(j => data[i, j] = d[i * 8 + j]));
于 2012-09-22T06:27:09.497 回答