2014-12-06 96 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]; 
} 

注:這是假定有偶數個數組中的項目。如果存在奇數個項目,則不會交換最後一個項目。