如何在C#中移动数组中的项?

0 .net c# arrays

假设我有一个像这样的字符串数组:

1, 2, 3, 4, 5, 6, 7, 8
Run Code Online (Sandbox Code Playgroud)

我想要移动数组的元素

  1. 第一个元素始终保持固定
  2. 只有剩下的元素才会这样移动......
  3. 数组中的最后一个元素成为第二个元素,并在每次传递时移过数组.

传球#1:1,2,3,4,5,6,7,8
传球#2:
1,8,2,3,4,5,6,7传球#3:1,7,8,2, 3,4,5,6个
通行证#4:1,6,7,8,2,3,4,5

任何帮助将不胜感激.

dtb*_*dtb 7

因为这看起来像家庭作业,我发布了一个不必要的复杂但非常时髦的LINQ解决方案:

int[] array = new int[] { 1, 2, 3, 4, 5, 6, 7, 8 };

int[] result = array.Take(1)
                    .Concat(array.Reverse().Take(1))
                    .Concat(array.Skip(1).Reverse().Skip(1).Reverse())
                    .ToArray();
Run Code Online (Sandbox Code Playgroud)

  • +1哈哈 - 非常低效但聪明! (4认同)