2014-12-06 94 views
-4

我有一个8个元素的字符串数组,例如AB CD EF GH。而且我想尝试改变的顺序如下:更改数组索引处的值c#

BA DC FE HG

主要思想是在指数改变值:
1与0,0与1
,3,2,2用3
,5与4,4与5
,7 6,6与7

.....对于阵列的任何给定的长度和内容。

谢谢你的帮助。

+0

你可以使用'for'循环来做到这一点。你有什么尝试? – CodeCaster 2014-12-06 13:11:17

回答

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]; 
} 

注:这是假定有偶数个数组中的项目。如果存在奇数个项目,则不会交换最后一个项目。