首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > VB Dotnet >

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

2012-02-16 
一个关于VB.net数组赋值的问题!各位:请教个问题,代码如下:Dim p1(0 To 2) As Doublep1(0) 20p1(1) 20p

一个关于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

数组是引用类型

热点排行