作者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://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1430318679.A.04B.html
1F:推 Litfal: string[] arr; int offset=2; int count=arr.Length; 04/30 04:28
2F:→ Litfal: Array.Reverse(arr,0,offset); 04/30 04:28
3F:→ Litfal: Array.Reverse(arr, offset, count-offset); 04/30 04:29
4F:→ Litfal: Array.Reverse(arr); 04/30 04:29
5F:→ GoalBased: 没想到真有这功能.. 04/30 09:06
6F:→ Litfal: 没有的功能就自己作(无误) 04/30 14:24
补充一下,我後来的解法。
我後来是new 一个新的Array。
然後做两次ArrayCopy
以上面的例子来说,第一次复制GH,第二次复制ABCDEFG
有查到好像可以透过Skip().Take()取得,但是以我的例子而言Skip後就无法回头取了
※ 编辑: don750421 (36.239.109.144), 04/30/2015 23:09:48
7F:推 YahooTaiwan: 为什麽不用一楼的解法? 05/01 01:58