手机分类
  导航: 电脑时代在线 · 网站开发 · ASP.NET教程 · Asp.NET开发技巧
有问题吗?看 疑难解答 电脑术语

Byval与Byref地区别

 
硬件盘点
手机推荐
 
『Byval与Byref地区别』如果文章有大量图片,显示会较慢,请等待图片下载完成
 
点击数: 更新时间:2005-10-27 

1、引用参数(ref)在可以作为引用参数在函数成员调用中传递之前,必须已明确赋值,而输出参数(out)在可以作为输出参数在函数成员调用中传递之前不一定要明确赋值,在该函数成员正常返回前都必须已明确赋值。 

2、在函数内部,引用参数(ref)被视为初始已赋值,输出参数(out)被视为初始未赋值。 

3、默认地,C#中的所有参数都是值传递。只有在参数的修饰符中明确包含out或ref,才是引用传递。但是需要知道的是,当参数的类型是引用类型时,你传递的是一个对象的引用而不是实际的对象。

实例: 

sub Add1(ByVal no as int32) 

no=no+100 

end sub 

sub Add2(ByRef no as int32) 

no=no+100 

end sub 

private sub button1_click(sender as object,e as eventargs)handles button1.click 

dim a as int32 

a=100 

Add1(a) 

msgbox ("a的值为:" & a) '显示:a的值为100 

Add2(a) 

msgbox ("a的值为:" & a) '显示:a的值为200,因为Add2中的参数no为ByRef,即 

'按地址传递,因此在Add2中对no进行修改后,将会导致 

'源参数a的值也被修改。 

End Sub 

ByVal是传递值 源数据不会被修改,你可以把这个值当作自己的局部变量来使用;ByRef是传递地址,源数据可能被修改,你对这个变量的操作将对你传入的那个变量产生影响,就像指针的感觉。




如果您有什么疑问,可以至论坛提出或者解答他人的疑问   返回页面顶部

】【关闭窗口
·上一篇教程:
·下一篇教程:
·导航: 电脑时代在线 · 网站开发 · ASP.NET教程 · Asp.NET开发技巧
相关文章
 
搞笑自拍|图片故事|美女图库|体坛宝贝|明星爆料|世界奇观|风光摄影|历史回忆|大千世界
Photshop超炫图片
advertisement
关于站点 - 广告服务 - 联系我们 - 版权隐私 - 免责声明 - 合作伙伴 - 程序支持 - 网站地图 - 返回顶部  
网站文本地图
  版权所有:电脑时代在线 2005-2007 欢迎各种媒体转载我们的原创作品[转载请注明出处]
copyright © 2005-2007 www.PCvz.com online services. all rights reserved. 蜀ICP备05015578
Template designed by LaoJiang. Optimized for 1024x768 to Firefox,Opera and MS-IE. Site powered by EQL.
红盾
热爱电脑,热爱生活
拥有电脑,拥有生命
让我们享受拥有电脑的时光