听起来很简单,可能就是。
我有这个变量:
byte[,,] data = new byte[360,288]
我想要4个。
我不想要这个:
byte[,,,] data = new byte[360,288,4]
我更喜欢这个:
byte[,,][] data = new byte[360,288][4]
有可能吗?
答案 0 :(得分:2)
是的,这是锯齿状数组的特例,其中一个锯齿状维度是多维的。
你应该写这样的东西:
// Initialise 4 arrays of two dimensional arrays
byte[][,] data = new byte[4][,];
// Initialise the arrays
for (var i = data.GetLowerBound(0); i <= data.GetLowerBound(0); ++i)
data[i] = new byte[360, 258];
当然,如果需要,您可以反转尺寸。
// Initialise 4 arrays of two dimensional arrays
byte[,][] data2 = new byte[360,258][];
// Initialise the arrays
for (var i = data2.GetLowerBound(0); i <= data2.GetLowerBound(0); ++i)
for (var j = data2.GetLowerBound(1); j <= data2.GetLowerBound(1); ++j)
data2[i,j] = new byte[4];