我是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);
}
}
答案 0 :(得分:1)
首先,由于amn
为2 dimensional array,因此amn[i]
中的int
不是数组。实际上,它不允许在没有定义第二直径的情况下使用。
您的Array.Copy
将数组作为第三个参数。
作为替代方案,如果要在数组上进行处理,可以使用jagged arrays。
答案 1 :(得分:0)
如果您正在寻找类似于C#中的system.arraycopy之类的java函数,那么请使用 System.Array.ConstrainedCopy。
description:从指定源索引处开始复制Array中的一系列元素,并将它们粘贴到从指定目标索引开始的另一个Array。保证在副本未成功完成时撤消所有更改。