将字节数组分配给2维字节数组

时间:2015-09-10 12:16:50

标签: c# arrays bytearray variable-assignment type-2-dimension

我想将一个byte []分配给一个byte [] []但是它给了我运行时错误:

  

对象引用未设置为对象的实例。

这是我的代码:

Get<T>()

1 个答案:

答案 0 :(得分:1)

myFile[i][0]为null,因为您只分配了第一个维度。在循环开始时,数组如下所示:

myFile -> [null, null, null, ...]

您可以通过迭代数组来分配其他维度:

byte[][] myFile = new byte[NumberOfChunks][];
for (int i = 0; i < NumberOfChunks; ++i)
{
    myFile[i] = new byte[NumberOfChunks];
}

结果将是:

myFile -> [byte[], byte[], byte[] ...]

因此myFile[i]将指向其中一个byte[]而不是空引用。

作为旁注,您可以使用二维数组byte[,]来同时分配两个维度。请注意,表演并不相同。