c#中的 ref 与 out 区别及其用法

1、ref有进有出,out只出不进。(意味着假如用传递的值作为回调变量的时候,用ref之前要声明,out可以不用,因为调用后在内部会清空)

2、对于值类型ref是传递地址,但对于引用类型要注意的是使用ref是传递引用类型地址的一个副本(没打错,读仔细)这就意味着假如你不用ref,在调用的函数中改变实例内部的属性会导致原实例也变化,但是假如你此时new了一个新实例,那原实例不会变化,因为你仅仅将这个实例new 到新地址上去了。用ref 的情况是传递引用类型的地址,当然new到原地址上去了。

posted @ 2011-08-24 01:30  为森  阅读(221)  评论(0编辑  收藏  举报