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

本文关键字:何声明 数组 一个 声明 | 更新日期: 2023-09-27 18:16:10

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

我有这个变量:

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