标题:请教:ref和out的问题,实在弄不明白了。
只看楼主
西兰花
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-12
 问题点数:0 回复次数:11 
请教:ref和out的问题,实在弄不明白了。

请问:
ref 和 out 除了变量初始化之外,有其他的区别么?(是不是ref 在引用函数中改变变量的值,而out 在原函数中返回多个变量?)

他们主要实现了什么作用呢?

ref 改变了原变量的值, 那:“函数(ref 变量)” 跟 “变量=函数(变量)”的功能有什么区别呢?
非常感谢!!

搜索更多相关主题的帖子: ref 变量 函数 
2006-04-11 11:31
西兰花
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-12
得分:0 
就是不明白,没有他们照样引用返回值,为什么用呢?

2006-04-11 11:46
er72681085
Rank: 1
等 级:新手上路
帖 子:28
专家分:0
注 册:2005-10-30
得分:0 
ref标记是说明参数是引用传递
out标记是说明参数是输出传递

好好学习,天天向上!
2006-04-11 13:19
西兰花
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-12
得分:0 
谢谢!!还是有点迷糊,不知道什么时候他们是必须用的?

2006-04-11 14:17
f3260247
Rank: 1
等 级:新手上路
帖 子:99
专家分:0
注 册:2005-11-25
得分:0 

顶,急等


2006-04-11 15:40
ytyt654
Rank: 2
等 级:新手上路
威 望:4
帖 子:195
专家分:0
注 册:2006-2-13
得分:0 
如果把一个参数传递给方法,且这个方法的输入参数前带有ref关键字,则该方法对变量所作的任何改变都会影响原来对象的值.

对值类型参数加ref, 则值类型参数按引用传递。

我经常在一些递归算法中使用ref,out很少使用。



当在方法的输入参数前面加上out关键字时,传递给该方法的变量可以不被初始值初始化。

[此贴子已经被作者于2006-4-11 16:30:41编辑过]


2006-04-11 16:04
西兰花
Rank: 1
等 级:新手上路
帖 子:13
专家分:0
注 册:2006-3-12
得分:0 
楼上,谢谢了。可是您说的这些在书上都有。
我想知道,在具体编程的时候,你们用过么?在什么情况下需要用??

2006-04-11 16:13
tank
Rank: 1
等 级:新手上路
帖 子:15
专家分:0
注 册:2006-4-11
得分:0 
我的理解是:在程序中通过代码修改控件的属性是会用到这两个关键字,不知对否!

江湖风云出我辈,一入江湖岁月催, 煌途霸业谈笑间,不胜人生一场醉!
2006-04-11 19:47
caitanlin
Rank: 1
等 级:新手上路
帖 子:43
专家分:0
注 册:2006-3-20
得分:0 

我的理解是ref和out两个函数其实都是传址的(就是把实际值在的内存中的地址传递过去).这是它们的共同点 。他们的区别是:ref在调用方法之前,必须对被传递的参数进行初始化,而out不要求在调用方法之前对被传递的参数进行初始化。

2006-04-11 21:54
夜空的星星
Rank: 1
等 级:新手上路
帖 子:67
专家分:0
注 册:2006-3-17
得分:0 
你程序如果有大量返回值,你就最好用out把,性能比ref好点的

qq:58926957 技术群:22185706
2006-04-12 14:59



参与讨论请移步原网站贴子:https://bbs.bccn.net/thread-56726-1-1.html




关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.132170 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved