-3

我是 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);
        }

    }
4

2 回答 2

1

首先,因为amn二维数组amn[i]int这种情况下不是数组。事实上,它不允许在没有定义第二维度的情况下使用。

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

作为替代方案,如果要处理数组,可以使用交错数组。

于 2013-10-03T10:49:16.417 回答
0

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

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

于 2014-01-05T09:30:49.383 回答