Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/283.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在C中作为2D方法参数数组传递3D多维数组的2D部分_C#_Multidimensional Array_Parameter Passing - Fatal编程技术网

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

C# 在C中作为2D方法参数数组传递3D多维数组的2D部分,c#,multidimensional-array,parameter-passing,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]);

我希望在我的代码中执行以下操作:

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时是否有某种方法可以实现我正在尝试的功能。如果没有,我该怎么办?

使用锯齿状数组:

static byte[,][] array3d

请改用锯齿状阵列:

static byte[,][] array3d

您可以将3D数组传递给该方法。没有任何东西可以阻止您仅对方法中的相关2D子部分执行操作


您也可以使用锯齿阵列,但这会带来高昂的成本,如果您首先使用3D阵列,我不确定这是否可以接受。

您可以将3D阵列传递给该方法。没有任何东西可以阻止您仅对方法中的相关2D子部分执行操作


您也可以使用锯齿状数组,但这会带来很大的成本,如果您首先使用3D数组,我不确定这是否可以接受。

在这种情况下,可以使用的是静态字节[][,]array3d。我在这里尝试过,但有一个很大的不便,我不能用我计划的简单方式初始化它。我不得不使用新的运算符和静态构造函数。在这种情况下可以使用的是静态字节[][,]array3d。我在这里尝试过,但有一个很大的不便,我不能用我计划的简单方式初始化它。我被迫使用新的操作符和静态构造函数。是的,但是如果数组和方法位于不同的类中,那么它将导致耦合问题,就像我在这里的项目中一样。我将纠正这个例子,以获得更好的表示。是的,但是如果数组和方法位于不同的类中,那么它将导致耦合问题,就像在我的项目中一样。我将更正该示例以获得更好的表示。