ref和out的区别

ref和out的区别... ref和out的区别 展开
 我来答
百度网友9543f8e
高粉答主

2018-10-17 · 每个回答都超有意思的
知道小有建树答主
回答量:457
采纳率:71%
帮助的人:12.3万
展开全部

首先:两者都是按地址传递的,使用后都将改变原来参数的数值。

其次:ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。这个就是两个的区别,或者说就像有的网友说的,ref是有进有出,out是只出不进。

ref和out的区别在C# 中,既可以通过值也可以通过引用传递参数。通过引用传递参数允许函数成员更改参数的值,并保持该更改。若要通过引用传递参数, 可使用ref或out关键字。ref和out这两个关键字都能够提供相似的功效,其作用也很像C中的指针变量。它们的区别是:

1、使用ref型参数时,传入的参数必须先被初始化。对out而言,必须在方法中对其完成初始化。

2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

方法参数上的 out 方法参数关键字使方法引用传递到方法的同一个变量。当控制传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。

当希望方法返回多个值时,声明 out 方法非常有用。使用 out 参数的方法仍然可以返回一个值。一个方法可以有一个以上的 out 参数。

若要使用 out 参数,必须将参数作为 out 参数显式传递到方法。out 参数的值不会传递到 out 参数。

不必初始化作为 out 参数传递的变量。然而,必须在方法返回之前为 out 参数赋值。

属性不是变量,不能作为 out 参数传递。

扩展资料

当希望方法返回多个值时,声明 out方法很有用。使用 out参数的方法仍然可以将变量用作返回类型(请参见 return),但它还可以将一个或多个对象作为 out参数返回给调用方法。此示例使用 out在一个方法调用中返回三个变量。请注意,第三个参数所赋的值为 Null。这样便允许方法有选择地返回值。

ref是net的关键字,ref关键字--让参数按照引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中;也等同将值类型的数据使用引用方式传参。若要使用ref参数,则方法定义和调用方法都必须显式使用ref关键字。ref是 Reference的缩写。

参考资料:百度百科 REF  百度百科 out

ZESTRON
2024-09-04 广告
在Dr. O.K. Wack Chemie GmbH,我们高度重视ZESTRON的表界面分析技术。该技术通过深入研究材料表面与界面的性质,为提升产品质量与可靠性提供了有力支持。ZESTRON的表界面分析不仅涵盖了相变化、化学反应、吸附与解吸... 点击进入详情页
本回答由ZESTRON提供
蘑菇张张
2018-09-18 · TA获得超过265个赞
知道答主
回答量:2
采纳率:0%
帮助的人:2183
展开全部

两者词性不同,释义也不同
ref是名词中文释义裁判员,out可做副词可做动词
英: [ref]美: [rɛf]n.裁判员;
例句:

The ref is placing the ball for a free kick to the visiting team.
裁判员正在安排让客队罚任意球。

out  英: [aʊt]美: [aʊt]

adv.出局; 在外,在外部; 完全,彻底; 出版;
prep.(表示来源)从; (从…里)出来; (表示不在原状态)脱离; 离去;

例句:

Two of his biggest competitors are out of the ball game.
他的两大劲敌出局了。
复数:outs

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
xiao1060503543
高粉答主

2018-09-17 · 说的都是干货,快来关注
知道小有建树答主
回答量:274
采纳率:82%
帮助的人:12.6万
展开全部

out与ref区别:

1、使用ref型参数时,传入的参数必须先被初始化,对out而言,必须在方法中对其完成初始化。

2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字,以满足匹配。

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

4、ref传进去的参数在函数内部可以直接使用,而out不可。

5、系统对ref的限制是更少一些的。

6、若要使用 ref 参数,必须将参数作为 ref 参数显式传递到方法,ref 参数的值被传递到 ref 参数。


7、当希望方法返回多个值时,声明 out 方法非常有用;使用 out 参数的方法仍然可以返回一个值。

扩展资料

ref和out语法区别:

1、ref传进去的参数必须在调用前初始化,out不必。

即:
int i;SomeMethod( ref i );//语法错误

SomeMethod( out i );//通过

2、ref传进去的参数在函数内部可以直接使用。

而out不可:

public void SomeMethod(ref int i)

{int j=i;//通过//...}

public void SomeMethod(out int i)

{int j=i;//语法错误}

参考资料百度百科-c#

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
陈姗秀
2018-10-20 · TA获得超过6561个赞
知道答主
回答量:5
采纳率:0%
帮助的人:873
展开全部

out与ref区别:

1、使用ref型参数时,传入的参数必须先被初始化,对out而言,必须在方法中对其完成初始化。

2、使用ref和out时,在方法的参数和执行方法时,都要加Ref或Out关键字,以满足匹配。

3、out适合用在需要retrun多个返回值的地方,而ref则用在需要被调用的方法修改调用者的引用的时候。

4、ref传进去的参数在函数内部可以直接使用,而out不可。

5、系统对ref的限制是更少一些的。

6、若要使用 ref 参数,必须将参数作为 ref 参数显式传递到方法,ref 参数的值被传递到 ref 参数。

7、当希望方法返回多个值时,声明 out 方法非常有用;使用 out 参数的方法仍然可以返回一个值。

扩展资料:

out:标识一个参数值会受影响的参数,但在传入方法时,该参数无需先初始化。

ref:标识一个参数值可能会受影响的参数。

C#旨在设计成为一种“简单、现代、通用”,以及面向对象的程序设计语言,此种语言的实现,应提供对于以下软件工程要素的支持:强类型检查、数组维度检查、未初始化的变量引用检测、自动垃圾收集(Garbage Collection,指一种自动内存释放技术)。软件必须做到强大、持久,并具有较强的编程生产力。此种语言为在分布式环境中的开发提供适用的组件开发应用。

为使程序员容易迁移到这种语言,源代码的可移植性十分重要,尤其是对于那些已熟悉C和C++的程序员而言。对国际化的支持非常重要。C#适合为独立和嵌入式的系统编写程序,从使用复杂操作系统的大型系统到特定应用的小型系统均适用。

参考资料:百度百科-C#

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
洋仔乐享生活
2018-11-04 · 专注解决您的咨询问题
洋仔乐享生活
采纳数:73 获赞数:36435

向TA提问 私信TA
展开全部

一、两者词性不同

ref是名词中;out可做副词,可做动词

二、释义也不同

ref 英 [ref]     美 [ref]    n. 裁判员

out 英 [aʊt]    美 [aʊt]    adv. 出;在外;完;prep. 向外;在外面;v. 出来;暴露;驱逐;熄灭;伸出;公开…的同性恋身份

三、用法不同

out 用作副词 (adv.)

  1. His book came out last month.

他的书上个月出版了。

2.He took out a book from the case.

他从箱子里拿出一本书。

用作名词 (n.)

  1. The game's not over till the ref blows the whistle.

裁判吹响哨子,比赛才算结束。

2.If I had been the ref I wouldn't have given a penalty then.

如果我是裁判,那时候就不会罚犯规。

扩展资料:

英语词性

prep. = 介系词(介词);前置词,preposition的缩写

pron .= 代名词(代词),pronoun的缩写

n .= 名词,noun的缩写

v. = 动词,兼指及物动词和不及物动词,verb的缩写

conj. = 连接词 ,conjunction的缩写

s = 主词(主语)

sc = 主词补语(有两种说法,一种表示主语补语=表语,一种表示一般表语属于主语补语)

o = 受词 (宾语)

oc = 受词补语(宾语补足语)

vi. = 不及物动词,intransitive verb的缩写

vt. = 及物动词,transitive verb的缩写

aux.v = 助动词 ,auxiliary的缩写

adj. = 形容词,adjective的缩写

adv. =副词,adverb的缩写

art. = 冠词,article的缩写

num. = 数词,numeral的缩写

int. = 感叹词,interjection的缩写

u. = 不可数名词,uncountable noun的缩写

c. = 可数名词,countable noun的缩写

pl. = 复数,plural的缩写

本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(10)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式