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

时间:2013-10-03 10:43:27

标签: c# arrays

我是c#的新手。 我在c#项目工作。 我使用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);
        }

    }

2 个答案:

答案 0 :(得分:1)

首先,由于amn2 dimensional array,因此amn[i]中的int不是数组。实际上,它不允许在没有定义第二直径的情况下使用。

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

作为替代方案,如果要在数组上进行处理,可以使用jagged arrays

答案 1 :(得分:0)

如果您正在寻找类似于C#中的system.arraycopy之类的java函数,那么请使用 System.Array.ConstrainedCopy。

description:从指定源索引处开始复制Array中的一系列元素,并将它们粘贴到从指定目标索引开始的另一个Array。保证在副本未成功完成时撤消所有更改。