ref 和out传参的不同

简介:

今天又遇到这个问题了,问了问同事,他说最近面试的时候,也问道他了,于是给我讲了讲,现在大概是记住了,记录下来,以备自用。

首先是看下面的code例子

 

string b= "bb";
Public  void A( ref b)
{
// to do
}

string d;
Public  void C( out d)
{
d= "jjjjj";
//  to  do 
}

 

方法A是引用参数b但是b必须先定义并且在方法之前进行初始化,在引用的时候就像一般方法处理即可;方法B是先定义变量d此时不需要初始化,在引用此变量的方法中需要进行初始化,然后可在方法内做任何操作,个人理解方法C等同于下列代码:

 

string d;
Public  string C( string d)
{
d= " ddd ";
return d;
}

所有out是在传进未初始化的参数后在内部做一定的处理,并返回定义的类型。ok game over!



本文转自shenzhoulong  51CTO博客,原文链接:http://blog.51cto.com/shenzhoulong/677047,如需转载请自行联系原作者

相关文章
|
5天前
|
C#
C#系列之ref和out的区别
C#系列之ref和out的区别
|
5天前
|
JavaScript 测试技术 API
Vue3中定义变量是选择ref还是reactive?
Vue3中定义变量是选择ref还是reactive?
17 2
|
6月前
|
JSON JavaScript 数据格式
Vue3.0实现todolist之路由传参(query模式传参和params传参)
Vue3.0实现todolist之路由传参(query模式传参和params传参)
43 1
|
10月前
|
C#
C#基础⑧——方法(函数、重载、out、ref)
比喻成职能。比喻成一个生产自行车老板,一个地方专门放螺丝,一个地方专门放轮,一个地方专门放车链子,需要组装什么就从那个仓库里面拿就行了。各司其职。
|
11月前
|
C++
c++中ref的作用
c++中ref的作用
114 0
|
JavaScript
ref属性
ref属性
79 0
|
JSON JavaScript 数据格式
认真总结Vue3中ref与reactive区别和isRef与isReactive 类型判断
认真总结Vue3中ref与reactive区别和isRef与isReactive 类型判断
C# ref out的使用与区别
ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须显式使用 ref 关键字。Ref型参数引入前必须赋值。 out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。 Out型参数引入前不需赋值,赋值也没用。
125 0
C# ref out的使用与区别
|
JavaScript 前端开发 Shell
vue 中的query传参与params传参
vue 中的query传参与params传参
126 0
vue 中的query传参与params传参