C# 如何在c中使用Array.copy(Array,long,Array,long,long)#

C# 如何在c中使用Array.copy(Array,long,Array,long,long)#,c#,arrays,C#,Arrays,我是新来的。 我在c#project工作。 iam正在使用Array.Copy()函数,但它给出了编译时错误,即无效参数为atArray.Copy(); 方法可以使用任何体来解决该无效参数。错误 int N=50; int M=N*2; int[,] amn = new int[M,N]; //for(int i=0;i<M;i++) //Arrays.fill(amn[i], 0); int[] a=new int[2]; int[] b=

我是新来的。 我在c#project工作。 iam正在使用Array.Copy()函数,但它给出了编译时错误,即无效参数为atArray.Copy(); 方法可以使用任何体来解决该无效参数。错误

int N=50;
    int M=N*2;
    int[,] amn = new int[M,N];
    //for(int i=0;i<M;i++)
    //Arrays.fill(amn[i], 0);
    int[] a=new int[2];
    int[] b=new int[2];
    a[0]=1;b[1]=1;

    for(int i=0;i<M;i++)
    {
        for(int j=0;j<N/2;j++)
        {
            if(i%2==0)
                Array.Copy(a, 0, amn[i], j*2, 2);
            else
                Array.Copy(b, 0, amn[i], j*2, 2);
        }

    }
int N=50;
int M=N*2;
int[,]amn=新的int[M,N];

//对于(int i=0;i首先,因为
amn
是,
int
中的
amn[i]
在这种情况下不是数组。事实上,它不允许在没有定义第二个直径的情况下使用

您的
数组.Copy
将数组作为第三个参数


另一种选择是,如果希望在阵列上进行处理,则可以使用。

如果您正在寻找类似于java的函数,如C#……中的system.arraycopy,则使用 System.Array.ConstrainedCopy


描述:从指定源索引开始的数组复制一系列元素,并将它们粘贴到指定目标索引开始的另一个数组。保证在复制未完全成功的情况下撤消所有更改。

@down Vorters(如果您知道答案,请告知)。为什么投反对票我怀疑您投了反对票因为你没有说你在哪一行得到错误,也没有说错误消息是什么。后者尤其重要,因为如果你要阅读和理解它,它会解释你的代码无法编译的原因。错误来自Array.copy(a,0,amn[i],j*2,2);错误是参数不足。我指的是系统。arraycopy()等效方法在c#中的错误不是“参数不足”-错误将更具描述性。复制并通过错误的准确完整文本。或者,既然您有两个答案表明相同的事情,请尝试他们的建议!我指的是系统。arraycopy()c语言中的等价方法#