您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 信息化管理 > C#中ref和out的使用小结
ref是传递参数的地址,out是返回值,两者有一定的相同之处,不过也有不同点。使用ref前必须对变量赋值,out不用。out的函数会清空变量,即使变量已经赋值也不行,退出函数时所有out引用的变量都要赋值,ref引用的可以修改,也可以不修改。区别可以参看下面的代码:usingSystem;classTestApp{staticvoidoutTest(outintx,outinty){//离开这个函数前,必须对x和y赋值,否则会报错。//y=x;//上面这行会报错,因为使用了out后,x和y都清空了,需要重新赋值,即使调用函数前赋过值也不行x=1;y=2;}staticvoidrefTest(refintx,refinty){x=1;y=x;}publicstaticvoidMain(){//outtestinta,b;//out使用前,变量可以不赋值outTest(outa,outb);Console.WriteLine(a={0};b={1},a,b);intc=11,d=22;outTest(outc,outd);Console.WriteLine(c={0};d={1},c,d);//reftestintm,n;//refTest(refm,refn);//上面这行会出错,ref使用前,变量必须赋值into=11,p=22;refTest(refo,refp);Console.WriteLine(o={0};p={1},o,p);}}
本文标题:C#中ref和out的使用小结
链接地址:https://www.777doc.com/doc-4690547 .html