日期:2014-05-20  浏览次数:20643 次

C# 方法ref与out参数
ref与out有什么区别?

除了在送参数进去的时候,out不用初始化参数。

------解决方案--------------------
2
帮顶 !
------解决方案--------------------
ref与out有什么区别?
除了在送参数进去的时候,out不用初始化参数。

除此之外,并无区别
------解决方案--------------------
out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字。
尽管作为 out 参数传递的变量不需要在传递之前进行初始化,但需要调用方法以便在方法返回之前赋值。
ref 和 out 关键字在运行时的处理方式不同,但在编译时的处理方式相同。因此,如果一个方法采用 ref 参数,而另一个方法采用 out 参数,则无法重载这两个方法。
但是,如果一个方法采用 ref 或 out 参数,而另一个方法不采用这两类参数,则可以进行重载。
另外属性不是变量,因此不能作为 out 参数传递。
------解决方案--------------------
具体好像一个要初始化,好像是out把
其他就没有了
------解决方案--------------------
ref和out修饰符可以同时应用于引用类型和值类型的参数.效果是完全一样的参数将成为参数将成实参的一个别名,如果使参数重新引用一个新建的对象,那么实际是让实参重新引用新建的对象.

ref须初始化
out不用初始化

------解决方案--------------------
还有就是,在具有out参数的函数中,必须对out的参数进行赋值。而ref则不需要。
------解决方案--------------------
好像也只有初始化的区别,
------解决方案--------------------
一个是初始化的差别
out 不需要,ref需要

第二个就是返回引用值时,out必须在方法体里面付值
ref不需要