这个视频里面有,在不使用任何关键字的时候,会首先在栈中开辟一块内存,然后形参将实参复制一份。在方法中进行运算。所以方法中改变参数值是,程序返回调用方时,调用方的参数不会发生改变。
ref关键字传递参数是按地址传递,调用方和方法使用相同的内存单元,所以如果方法中如果改变参数值,则当程序返回调用方的时候,调用方的参数值已经改变。
out和ref关键字的不同在:于使用ref关键字时,要求在使用前必须赋值,而方法中可以赋值也可以不付值。而使用out关键字时使用前可以不赋值,而调用方法返回之前必须赋值。普通传参在使用前必须赋值,但是在方法中赋值并不改变方法调用前的值。 |