关于VB.NET中-引用类型参数传递的问题
本人初学VB.NET,请教各位大虾们个概念性的问题:在关于引用类型参数传递这部分,我看到有两句话是这么写的:1.对象变量与对象本身是不同的,对象变量代表了对象真实数据在内...
本人初学VB.NET,请教各位大虾们个概念性的问题: 在关于引用类型参数传递这部分,我看到有两句话是这么写的: 1.对象变量与对象本身是不同的,对象变量代表了对象真实数据在内存中的地址. 2.传值的参数本身是被复制一份的,但这并不意味着它所代表的对象也被复制一份. 怎样理解这两句话?希望有详细的回答!谢谢!~
展开
1个回答
展开全部
1.对象变量与对象本身是不同的,对象变量代表了对象真实数据在内存中的地址.
打个比方,“对象变量”就象你家的地址,“对象本身”就象你家。
你不能说你家的地址(xx路xx号xx房)就是你家,但是可以通过这个地址而找到你家。
2.传值的参数本身是被复制一份的,但这并不意味着它所代表的对象也被复制一份.
有如下一个函数:
Public
Function
Do_delete(ByVal
ps_usr_id
As
String)
As
Boolean
你在调用时可能这样调用:
dim
strID
as
string
strID
=
"kknd001"
if
Do_delete(strID)
then.....
当程序执行到Do_delete函数体里面时ps_usr_id变量其实是按照StrID的值而复制的一个变量。
打个比方,“对象变量”就象你家的地址,“对象本身”就象你家。
你不能说你家的地址(xx路xx号xx房)就是你家,但是可以通过这个地址而找到你家。
2.传值的参数本身是被复制一份的,但这并不意味着它所代表的对象也被复制一份.
有如下一个函数:
Public
Function
Do_delete(ByVal
ps_usr_id
As
String)
As
Boolean
你在调用时可能这样调用:
dim
strID
as
string
strID
=
"kknd001"
if
Do_delete(strID)
then.....
当程序执行到Do_delete函数体里面时ps_usr_id变量其实是按照StrID的值而复制的一个变量。
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询