- ref 修饰符,指定参数由引用传递,可以由调用方法读取或写入。
- out 修饰符,指定参数由引用传递,必须由调用方法写入。
- in 修饰符,指定参数由引用传递,可以由调用方法读取,但不可以写入。
遂码之,首先是in:
可以看到,不能对in参数赋值,可见只能读,不能写
再来out:
可以看到,out参数不能读,只能写,就算在main中初始化,也是当做未赋值来看待
最后再来ref:
ref没有任何报错,可见是可读可写的,了解,还有就是ref参数必须初始化,不然会报错,in也是。
ref、out、in参数不能当做重载的依据
总结
ref、out、in都是将参数按引用来传递,我们普通做法什么都不加是用的值传递,这在内存分配上是有差异的。
ref:可读可写(可进可出)
out:只能写不能读(只出不进)
in:只能读不能写(只进不出)