C#里面ref和out的区别

时间:2022-05-08 21:14:22

ref和out都是通过传递地址来进行参数传递,但区别在于ref需要事先赋值,out可以在方法内赋值。

也就是说ref本质上是把对应参数的地址传入,即把外部的地址传入方法,而out本质上是在方法内分配了地址,然后把地址分配给外部变量。因此产生了区别。

这也就是为什么别人说ref有进有出,out只出不进。就是说明ref是把外部变量的地址传入方法,然后通过地址去修改变量的值,而out是重新弄一个地址,然后给这个地址进行初始化,然后把这个地址给外部变量。

标签:

原文地址:https://www.cnblogs.com/sapphirebitter/p/11684663.html