mwbr.net
当前位置:首页 >> C#中解释下out和rEF的区别? >>

C#中解释下out和rEF的区别?

public void Test(ref int a,out int b){b=10;//这里必须给b赋值否则会报错}//参数用ref修饰那么传入的之前就要赋值//out则不需要赋值,但是在函数(方法)里必须赋值,比如此处可以这样调用int a=10,b;Test(ref a,out b);Console.WriteLine("a=...

还是以例子来表明吧; 1. ref: int i =0; 有函数fun(ref i)和fun(i) 它们的函数体都是{ i = 3;},那么在执行以下两段代码后: (1)int i = 0; fun(i); System.Console.WriteLine(i.ToString()); (2)int i = 0; fun(ref i); System.Console.Write...

ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。 使用ref前必须对变量赋值,out不用。 out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。 区...

基本没什么区别 在次函数中调用时改变了其中的数值,主函数中也将发生改变 ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。若要使用 ref 参数,则方法定义和调用方法都必须...

被这两个标记的参数是获取方法执行后返回的值,在方法执行时的某一刻被赋值,在调用这个方法外的函数内可以取得这个被这两个标记的参数值。 out参数值只能是获取值不能把它的实参参数值带入函数内使用。而ref的是可以带入函数内使用的。

还是以例子来表明吧; 1. ref: int i =0; 有函数fun(ref i)和fun(i) 它们的函数体都是{ i = 3;},那么在执行以下两段代码后: (1)int i = 0; fun(i); System.Console.WriteLine(i.ToString()); (2)int i = 0; fun(ref i); System.Console.Write...

1、两者都是按地址传递的,使用后都将改变原来参数的数值。 2、ref可以把参数的数值传递进函数,但是out是要把参数清空,就是说你无法把一个数值从out传递进去的,out进去后,参数的数值为空,所以你必须初始化一次。 这个就是两个的区别,或者...

你看看 http://www.cnblogs.com/gsk99/archive/2010/12/13/1904557.html

ref是引用,out是输出,区别是ref是输入兼输出的,out只是单纯的输出 public void foo(ref int r, out int o){ if (o == 1)... // 错误,不能使用out的参数,因为o可能会被自动清空 if (r == 0) // 读取r的值 o = 0; // 设置o的值 else o = -r; r...

网站首页 | 网站地图
All rights reserved Powered by www.mwbr.net
copyright ©right 2010-2021。
内容来自网络,如有侵犯请联系客服。zhit325@qq.com