[.NET] 陣列排序的問題

看板Visual_Basic作者 (星羽)時間16年前 (2009/11/26 20:10), 編輯推噓1(1010)
留言11則, 4人參與, 最新討論串1/1
初學vb不久,有很多觀念不是很懂... 以下簡單敘述式: ================================ dim a() as integer = {4,2,3,1} dim b(a.length-1) as integer b = a Array.sort(b) ================================ 此時b()的確被排序為{1,2,3,4} 但是為何a()也變成{1,2,3,4} 不是很瞭解其中的原因... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 220.135.73.160

11/26 20:19, , 1F
指到相同記憶體位置吧
11/26 20:19, 1F

11/26 20:22, , 2F
請問應該如何指向不同記憶體位置?
11/26 20:22, 2F

11/26 20:29, , 3F
本來就是指向不同記憶體位置啊 你不能用這種偷懶的方法
11/26 20:29, 3F

11/26 20:30, , 4F
做陣列複製 你要用一個 i 從頭跑到尾 然後b(i)=a(i)
11/26 20:30, 4F

11/26 20:34, , 5F
感謝M大,因為以前學的程式並沒有這種觀念=w=
11/26 20:34, 5F

11/26 20:36, , 6F
剛剛查詢了一下,有Array.Copy的指令可以進行複製
11/26 20:36, 6F

11/26 20:36, , 7F
只是沒想到這樣直覺的寫法錯誤會如此的大Q_Q
11/26 20:36, 7F

11/27 00:05, , 8F
array.copy是.NET的。你標題選錯了。
11/27 00:05, 8F
※ 編輯: caeru 來自: 114.44.14.24 (11/27 17:18)

11/27 17:19, , 9F
已修正
11/27 17:19, 9F

11/29 21:15, , 10F
Array是參考,非實際變數,儲存的內容是記憶體位址
11/29 21:15, 10F

11/29 21:16, , 11F
所以直接使用指派的話,會存取相同的內容
11/29 21:16, 11F
文章代碼(AID): #1B3d1Bmm (Visual_Basic)