读书人

一个关于VB.net数组赋值的有关问题

发布时间: 2012-02-16 21:30:36 作者: rapoo

一个关于VB.net数组赋值的问题!
各位:请教个问题,代码如下:
Dim p1(0 To 2) As Double
p1(0) = 20
p1(1) = 20
p1(2) = 0
Dim p2(0 To 2) As Double
p2 = p1
p2(0) = p2(0) + 50
p2(1) = p2(1) + 50
代码执行完毕,p1和p2应该是不行等的,可是结果是相等的。都是(70,70,0)。
如果p1直接带进去,改成以下代码:
Dim p1(0 To 2) As Double
p1(0) = 20
p1(1) = 20
p1(2) = 0
Dim p2(0 To 2) As Double
p2(0) = p1(0) + 50
p2(1) = p1(1) + 50
结构就对了,p1(20,20,0);p2(70,70,0)。
哪位给解个惑啊?

[解决办法]
数组是引用类型的
[解决办法]
p2 = p1执行后p2和p1指向相同的数组对象.
[解决办法]
p2 = p1 指向同一个数组实例了

值类型和引用类型的区别

C#之理解值类型和引用类型
http://www.cnblogs.com/lynnlin/archive/2008/11/18/1335741.html

数组是引用类型

读书人网 >VB Dotnet

热点推荐