如何恢复工作

时间:2016-10-20 10:36:19

标签: c#-4.0

嗨我这里有一个示例代码,其中我试图将数组移位给定次数。在输出中我想打印经过所有轮班后生成的最终数组。

public static void Main(string[] args)
        {
            int[] oldArray={1,2,3,4};
            int[] newArray=Program.shiftRight(oldArray,3);
           foreach(var item in newArray)
                 Console.Write(item+ " ");
        }

        public static int[] shiftRight(int[] arr,int times)
        {
            int[] demo = new int[arr.Length];

                for (int i = 0; i < arr.Length; i++)
                {
                   demo[(i+1) % demo.Length] = arr[i];
                }
             foreach(var item in demo)
                 Console.Write(item+ " ");
            Console.WriteLine("");
            times--;
               if(times>0)
               {                       
                   shiftRight(demo,times);
               }
              Console.WriteLine("\n");
            return demo;

        }

我得到的输出是 你好,世界!

4 1 2 3 
3 4 1 2 
2 3 4 1


4 1 2 3 

有人可以解释为什么在主要我没有得到输出为“2 3 4 1” 但是“4 1 2 3”?提前谢谢。

0 个答案:

没有答案