2013-10-03 81 views
-3

Iam new to c#。 我正在C#項目中工作。 iam使用Array.Copy()函數但它給編譯時錯誤,無效參數atArray.Copy(); 方法可以解決那個無效參數的任何機構。錯誤。如何在c#中使用Array.copy(Array,long,array,long,long)#

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

@down選民如果你知道答案告訴。爲什麼倒票投票 – Deepak

+0

我懷疑你是低調的,因爲你沒有說你在哪一行得到你的錯誤,而你完全沒有說*錯誤信息是什麼。後者尤其重要,因爲如果您要閱讀並理解它,它將解釋代碼無法編譯的原因。在Array.copy(a,0,amn [i],j * 2,2)處出現錯誤: –

+0

;錯誤是不足的參數 – Deepak

回答

1

首先,由於amn2 dimensional arrayamn[i]在這種情況下不陣列的int。事實上,它不允許在沒有定義第二個維度的情況下使用。你的Array.Copy需要一個數組作爲第三個參數。

作爲一種替代方案,如果要在數組上進行處理,則可以使用jagged arrays

+0

我的意思是System.arraycopy()在c#中的等價方法 – Deepak

0

如果您正在尋找類似於java的函數,如system.arraycopy在C#中...然後使用 System.Array.ConstrainedCopy。

說明:從指定源索引處開始的Array複製一系列元素,並將它們粘貼到從指定目標索引開始的另一個Array。保證所有更改都會取消,如果副本不成功完成。