C#中ref、out、in的区别与使用

  • ref 修饰符,指定参数由引用传递,可以由调用方法读取或写入。
  • out 修饰符,指定参数由引用传递,必须由调用方法写入。
  • in 修饰符,指定参数由引用传递,可以由调用方法读取,但不可以写入。

遂码之,首先是in:

C#中ref、out、in的区别与使用
可以看到,不能对in参数赋值,可见只能读,不能写

再来out:

C#中ref、out、in的区别与使用
可以看到,out参数不能读,只能写,就算在main中初始化,也是当做未赋值来看待

最后再来ref:

C#中ref、out、in的区别与使用
ref没有任何报错,可见是可读可写的,了解,还有就是ref参数必须初始化,不然会报错,in也是。

ref、out、in参数不能当做重载的依据

C#中ref、out、in的区别与使用

总结

ref、out、in都是将参数按引用来传递,我们普通做法什么都不加是用的值传递,这在内存分配上是有差异的。

ref:可读可写(可进可出)

out:只能写不能读(只出不进)

in:只能读不能写(只进不出)

上一篇:记录ABAP开发的日常——ALV筛选框变短


下一篇:vue 快速学习所有知识或复习笔记