将3D多维数组的2D部分作为C#中的2D方法参数数组传递

时间:2010-05-04 00:56:15

标签: c# multidimensional-array parameter-passing

我想在代码中做的事情如下:

public static class DataClass
{
    public static byte[,,] Array3d = { { {0,0},{0,0}},{{0,0},{0,0}}};

}

class MyClass
{
    public MyClass()
    {
        someMethod(DataClass.Array3d[0]);
        someMethod(DataClass.Array3d[1]);
    }

    void someMethod(byte[,])
    {
    }
}

我想知道在调用someMethod()时是否有某种方法可以做我想做的事情。如果没有,我该怎么办?

2 个答案:

答案 0 :(得分:3)

改为使用锯齿状数组:

static byte[,][] array3d

答案 1 :(得分:1)

您可以将3D数组传递给方法。没有什么可以阻止您仅对方法中的相关2D子部分进行操作。

你也可以使用锯齿状阵列,但这需要很高的成本,如果你首先使用3D阵列,我不确定是否可以接受。