黑马程序员技术交流社区

标题: ref和out的区别 [打印本页]

作者: 郑玉赛    时间: 2012-5-16 16:09
标题: ref和out的区别
本帖最后由 郑玉赛 于 2012-5-17 19:28 编辑

ref和out两个都能传参数,那它们的区别是什么?
作者: 朱亮辉    时间: 2012-5-16 16:39
方法参数传递,从方式上来说分为,值传递方式和引用传递方式。ref和out都属于引用传递,对参数的任何操作都会反映在原变量上,而值传递只是变量的一个备份。

ref与out的区别
1、ref 参数的参数必须最先初始化(在方法初始化之前)out就可以不必在初始化之前必须声明
2、不必初始化作为 out 参数传递的变量。然而,必须在方法返回之前为 out 参数赋值。

如果要返回多个变量使用out是个不错的解决方案噢

作者: 王友伟    时间: 2012-5-17 17:20
ref是引用参数,声明方法时,不需要对参数进行赋值,只需要在调用的时候赋值就行了,而引用之后的结果会对主函数的参数产生影响。
out是输出参数,声明方法时,必须同时对参数进行赋值,在调用的时候不需要赋值,会直接得出结果,影响主函数的参数。
作者: 错,谁的错丶    时间: 2012-5-18 15:10
ref : 传递前必须初始化,
out:不必初始化,就算初始化,也会被无视,
out 作为输出参数,可以解决函数只有一个返回值的问题




欢迎光临 黑马程序员技术交流社区 (http://bbs.itheima.com/) 黑马程序员IT技术论坛 X3.2