{8,9,0,1,10},通过向右移动或复制2位怎么变成{8,9,8,9,0,1,10}

解决方案 »

  1.   

     
               //用数组方法
               var a = new int[] { 8, 9, 0, 1, 10 };
                var b = new int[a.Length + 2];
                Array.Copy(a, 0, b, 0, 2);
                Array.Copy(a, 0, b, 2, a.Length);            //用集合方法
                var c = a.Take(2).Concat(a).ToArray();
      

  2.   


    List<int> m = new List<int> {8,9,0,1,10};
                List<int> n = new List<int> { };
                
                n.Add(m[0]);
                n.Add(m[1]);
                for (int i = 0; i < m.Count; i++) 
                {
                    n.Add(m[i]);
                }
                for(int j=0;j<n.Count ;j++)
                {
                    Console.Write(n[j]+" ");
                }
                Console.ReadKey();
    但是这个只是针对你这个例,我感觉List比较好用,你可以试试。
      

  3.   

    如果你偏好 List 可以这样            var d = new List<int>(a);
                var n = 2; //右移的个数
                d.InsertRange(0, d.GetRange(0, n));