我想将一个byte []分配给一个byte [] []但是它给了我运行时错误:
对象引用未设置为对象的实例。
这是我的代码:
Get<T>()
答案 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[,]
来同时分配两个维度。请注意,表演并不相同。