作者don750421 (1+1≠2)
看板C_Sharp
標題[問題] Array Offset?
時間Wed Apr 29 22:44:35 2015
請問一下,Array有屬性可以將Array內的元素位移嗎?
假設有個string[] Temp = new string[]{"A","B","C","D",
"E","F","G","H"};
內有8個元素,每次固定往後位移兩個元素,所以會有四種Case..
[0]="A" [1]="B" [2]="C" [3]="D" [4]="E" [5]="F" [6]="G" [7]="H"
[0]="G" [1]="H" [2]="A" [3]="B" [4]="C" [5]="D" [6]="E" [7]="F"
[0]="E" [1]="F" [2]="G" [3]="H" [4]="A" [5]="B" [6]="C" [7]="D"
[0]="C" [1]="D" [2]="E" [3]="F" [4]="G" [5]="H" [6]="A" [7]="B"
還是只能透過迴圈塞一個新的Array??
謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 36.239.109.144
※ 文章網址: https://www.ptt.cc/bbs/C_Sharp/M.1430318679.A.04B.html
推 Litfal: string[] arr; int offset=2; int count=arr.Length; 04/30 04:28
→ Litfal: Array.Reverse(arr,0,offset); 04/30 04:28
→ Litfal: Array.Reverse(arr, offset, count-offset); 04/30 04:29
→ Litfal: Array.Reverse(arr); 04/30 04:29
→ GoalBased: 沒想到真有這功能.. 04/30 09:06
→ Litfal: 沒有的功能就自己作(無誤) 04/30 14:24
補充一下,我後來的解法。
我後來是new 一個新的Array。
然後做兩次ArrayCopy
以上面的例子來說,第一次複製GH,第二次複製ABCDEFG
有查到好像可以透過Skip().Take()取得,但是以我的例子而言Skip後就無法回頭取了
※ 編輯: don750421 (36.239.109.144), 04/30/2015 23:09:48
推 YahooTaiwan: 為什麼不用一樓的解法? 05/01 01:58