2013-10-08 25 views
0

程序在c#,創建一個新的數組(TEMP)具有從MP4V(大陣列)的不同大小,然後複製此陣列(臨時)以列表(A)在c#中使用List.AddRange(Array)方法有什麼問題?

程序是:

{ 

     int size; int i = 0; 

     Int32 [] mp4v=new Int32 [10]{1,12,1,2,11,1,10,4,1,5}; 

     List<Int32> a = new List<Int32>(); 

     Int32[] sz = new Int32[] { 3, 3, 4 }; 



     for (int k = 0; k < 3; k++) 
     { 
      size = sz[k]; 

      Int32[] temp = new Int32[size]; 

      Array.Copy(mp4v, i, temp, 0, size); 

      a.AddRange(temp); 

      i = i + size; 
     } 

     for (i = 0; i < a.Count; i++) 
      Console.WriteLine("0", a[i]); 

}

output : 


     0 

     0 

     0 

     0 

     0 

     0 

     0 

     0 

     0 

     0 

什麼是錯的這個計劃,其結果必然是這樣的:

回答

8

它應該是Console.WriteLine("{0}", a[i])。字符串"0"將每次輸出0,並使用參數替換的語法是{x}其中x是列表中的參數索引

+0

非常感謝你,但在此程序中正確使用AddRange方法將數組複製到列表? – user2839704