作者caeru (星羽)
看板Visual_Basic
标题[.NET] 阵列排序的问题
时间Thu Nov 26 20:10:48 2009
初学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
1F:→ Steven0422:指到相同记忆体位置吧 11/26 20:19
2F:→ caeru:请问应该如何指向不同记忆体位置? 11/26 20:22
3F:→ MOONRAKER:本来就是指向不同记忆体位置啊 你不能用这种偷懒的方法 11/26 20:29
4F:→ MOONRAKER:做阵列复制 你要用一个 i 从头跑到尾 然後b(i)=a(i) 11/26 20:30
5F:→ caeru:感谢M大,因为以前学的程式并没有这种观念=w= 11/26 20:34
6F:→ caeru:刚刚查询了一下,有Array.Copy的指令可以进行复制 11/26 20:36
7F:→ caeru:只是没想到这样直觉的写法错误会如此的大Q_Q 11/26 20:36
8F:→ MOONRAKER:array.copy是.NET的。你标题选错了。 11/27 00:05
※ 编辑: caeru 来自: 114.44.14.24 (11/27 17:18)
9F:→ caeru:已修正 11/27 17:19
10F:推 fumizuki:Array是参考,非实际变数,储存的内容是记忆体位址 11/29 21:15
11F:→ fumizuki:所以直接使用指派的话,会存取相同的内容 11/29 21:16