如何声明一个多维多维数组



听起来很简单,可能就是这样。

我有这个变量:

byte[,,] data = new byte[360,288]

我想要4个。

我不希望这样:

byte[,,,] data = new byte[360,288,4]

我更喜欢这个:

byte[,,][] data = new byte[360,288][4]

有可能吗?

是的,这是锯齿数组的一个特殊情况,其中一个锯齿维度是多维的。

你应该这样写:

        // 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];

相关内容

  • 没有找到相关文章

最新更新