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

时间:2013-10-08 17:04:38

标签: c#

程序在c#中,创建一个新的数组(temp)有不同大小的mp4v(大数组)然后将这个数组(temp)复制到List(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

2

11

1

10

4

1

5

1 个答案:

答案 0 :(得分:8)

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