jmfs.net
当前位置:首页>>关于C#中解释下out和ref的区别?的资料>>

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

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...

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

out与ref的区别如下: private void button1_Click(object sender, EventArgs e) { //ref,out都能修改传进来的参数的值。 int refInt = 100; RefValue(ref refInt); MessageBox.Show(refInt.ToString()); // int outInt = 100; outValue(out out...

ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。 使用ref前必须对变量赋值,out不用。 out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有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...

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=...

ref 相当于c语言的引用参数 实参和形参一起变 out 多用于输出参数 就是在return之前必须给out标示的参数赋值

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

楼主你好~ ref和out两个关键字的作用大致相同,但是有一些微妙但是重要的区别。 两者的行为相似到连编译器都认为这两者不能被重载: public void SampleMethod(out int i) { } public void SampleMethod(ref int i) { } 以上重载在编译时将被抛...

ref和out都是C#中的关键字,所实现的功能也差不多,都是指定一个参数按照引用传递。 对于编译后的程序而言,它们之间没有任何区别,也就是说它们只有语法区别。 总结起来,他们有如下语法区别: 1、ref传进去的参数必须在调用前初始化,out不必...

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