首页 > Windows开发 > 详细

C#中ref和out的使用与区别

时间:2015-03-27 16:43:35      阅读:301      评论:0      收藏:0      [点我收藏+]

C#中ref关键字和out关键字所实现的功能差不多,都是指定一个参数按照引用传递。但是二者适用场景还是有些区别的:out适合用在需要retrun多个返回值的地方,而ref则适合用在被调用的方法修改调用者参数引用的时候。

1.调用前初始化

ref作为函数参数在调用前,实参必须赋初始值,否则编译器将提示:使用了未赋值的局部变量

out作为参数的函数在调用前,实参可以不赋初始值

2.在函数内部

在被调用函数内,ref引入的参数在返回前不必为其赋初值

在被调用函数内,out引入的参数在返回前至少赋值一次,否则编译器将提示:控制离开当前方法之前必须对 out 参数赋值

3.关于重载

有out|ref关键字的方法可以与无out和ref关键字的方法构成重载;但如想在out和ref间重载,编译不能通过

总结:

①:ref指定的参数在函数调用时候必须初始化,不能为空引用;而out指定的参数在函数调用时候可以不初始化
②:out指定的参数被调用时会清空自己,也就是不能使用out指定的参数来传递参数值,且必须在函数内赋初值;而ref指定的参数则无此限制
③:简单来说,就像有的网友说的:ref是有进有出,out是只出不进

C#中ref和out的使用与区别

原文:http://www.cnblogs.com/makesense/p/4371805.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!