在 C# 中使用 List.AddRange(Array) 方法有什么问题

本文关键字:Array 方法 问题 什么 AddRange List | 更新日期: 2023-09-27 18:34:22

c#中的程序,创建一个与mp4v(large array)大小不同的新数组(temp),然后将此数组(temp)复制到列表(a)

程序是:

 {
        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 

这个程序出了什么问题,结果一定是这样的:

1

12

1

阿拉伯数字

11

1

10

1

5

在 C# 中使用 List.AddRange(Array) 方法有什么问题

它应该是Console.WriteLine( "{0}", a[i] ) .字符串 "0" 每次都会输出 0,并且要使用参数替换语法{x} 其中 x 是列表中的参数索引