[学习笔记]C#中out与ref参数传递方式
来源:互联网 发布:阿里代销淘宝图片处理 编辑:程序博客网 时间:2024/06/01 10:13
今天恰好学到C#的参数传递模式,关于out和ref的区别网上已经有非常多的资料了。
但是普遍都认为out与ref没有区别,只是out会被初始化,我觉得仅仅这样理解C#特意划分出来的一个参数形式是不够仔细的,太Navie了,一个语言的任何东西都是有其用意,有其具体实用场景的。
int a=5;
method(ref int a) :在方法中对a的所有改动都会改动原值a(5),这里其实是对a的内存地址的引用。
int a;
method(out int a) :这里没有对a进行初始化,因为即使初始化了a=5,在method中a也会被自动清空,但是在mothod中对于a的改动还是会体现在原值a上……….
所以我们仔细想一下,这个参数不能传进去值,却可以返回参数对其的赋值和改变,那这个参数是干啥的呢???
其实,out参数引用就是用来作为返回值的,out的本意也是“输出”,如下:
out可以允许在一个方法内,返回多个参数,虽然用ref也能实现相同做法,但是out明显就是C#为实现多返回值而专门设定的一个参数,也更容易让人理解:这个参数是作为返回值媒介,那个参数是作为参数传入的。
按我的理解,ref就是用于需要对原参数进行修改的方式,允许多参数同时修改。(如果使用return,几个不同处理方式的参数就需要写几个不同的方法,使用ref可以写在同一个方法中,写法简洁明了)
而out就是专门传空值进入函数,作为多return值的媒介,这样就可以实现多返回值。
阅读全文
0 0
- [学习笔记]C#中out与ref参数传递方式
- c#方法中调用参数的值传递方式和引用传递方式,以及ref与out的区别
- c#方法中调用参数的值传递方式和引用传递方式,以及ref与out的区别
- C#学习笔记之out、ref参数
- C#学习笔记-ref与out
- C#中Ref/Out参数
- 【KK学习笔记】c# 参数修饰符 out ref params
- C#回顾学习笔记十六:out、ref和params参数
- ref out 参数传递
- C#中out 与ref
- C#中ref 与out
- C#中 out 与ref
- c#中ref与out
- 关于C#中ref与out参数的理解
- C#中方法参数 ref 与 out 的区别
- ref与out参数的使用--学习笔记
- 【学习笔记】C#中Ref和Out关键字的区别:
- C#学习:函数的ref、out参数
- js、jsp读取properties
- 2.图像反转
- [Leetcode] 326. Power of Three 解题报告
- kubernetes学习记录(9)——集群基于CA签名的安全设置
- 内存可见性
- [学习笔记]C#中out与ref参数传递方式
- hdu 2604 矩阵快速幂
- Spring----IOC实例
- x86 和 x64 汇编调用C 函数参数传递规则(GCC)
- 工具方法:Jquery比较日期
- Codeforces Round #427 (Div. 2) D. Palindromic characteristics dp
- CCF认证ISBN号码80分
- 并查集
- HttpUtils.java