更改数组c的索引处的值

时间:2014-12-06 13:08:02

标签: c#

我有一个包含8个元素的字符串数组,例如AB CD EF GH。我想按照以下顺序进行:

BA DC FE HG

主要思想是改变索引处的值:
 1与0,0与1
 ,3与2,2和3  ,5与4,4与5
 ,7,6,6与7

.....对于任何给定长度或数组的内容。

感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

只需在索引上使用xor 1访问数组,这样您就不必移动任何内容或创建新数组:

int n = arr[index ^ 1];

如果要创建新数组,只需复制数组并从源代码访问该数组:

int[] newArr = new int[arr.Length];
for (int i = 0; i < arr.Length; i++) {
  newArr[i] = arr[i ^ 1];
}

注意:这假定数组中有偶数项。如果会有奇数个项目,则无法将最后一项交换为。