我在.net 8中有一小段代码
private byte[,,] GetBytes<T>(T[,] imageArray, int dataSize)
{
int yDimension = imageArray.GetLength(0);
int xDimension = imageArray.GetLength(1);
byte[,,] result = new byte[yDimension, xDimension, dataSize];
函数在 for 循环内部使用
在调试中我看到 x 和 y 维度为 1024,dataSize 为 2, 有时结果数组的创建方式类似于 byte[1024, 219..1242, 2] 有什么想法为什么会发生这种情况吗?
我用谷歌搜索了很多,但没有任何相关的..
您提供的代码片段似乎在数组创建部分有一个拼写错误。创建 3D 字节数组的正确语法缺少等号。这是更正后的代码:
private byte[,,] GetBytes<T>(T[,] imageArray, int dataSize)
{
int yDimension = imageArray.GetLength(0);
int xDimension = imageArray.GetLength(1);
byte[,,] result = new byte[yDimension, xDimension, dataSize];
// Your function logic here...
return result;
}
在您的代码中,您有: byte[,,] 结果 new byte[yDimension, xDimension, dataSize];
应该是: byte[,,] 结果 = 新字节[yDimension, xDimension, dataSize];
确保使用正确的语法创建数组。如果问题仍然存在,则周围代码或函数调用方式中可能存在其他问题。确保 dataSize 和 imageArray 的尺寸符合预期。