ref和out

原创 2015年07月09日 10:31:48

        Ref和Out两个关键字的作用有点像C中的指针变量,不同的是:

         1 , 用Ref型参数是,传入的参数必须先被初始化,而Out则不要,Out必须在方法中对其完成初始化。

          2, 用Ref和Out时都必须注意,在方法的参数和执行方法时,都要加Ref或Out关键字。以满足匹配。
Out更适合用在要要Return多个返回值的地方,而Ref则用在要要被调出使用的方法修改调出使用者的引用的时候。

例如:

            static void Doincrement (int param)

             {

                        param++;

              }

              static void Main()

                {

                           int arg = 42;

                           Doincrement (arg);

                            Console.WriteLine(arg);//输出 42  ,

                }



//ref

            static void Doincrement (ref int param)

             {

                        param++;

              }

              static void Main()

                {

                           int arg = 42;

                           Doincrement (ref arg);

                            Console.WriteLine(arg);//输出 43  ,

                }

//out

            static void Doincrement (out int param)

             {

                        param = 42;

              } 

              static void Main()

                {

                           int arg ;

                           Doincrement (out arg);

                            Console.WriteLine(arg);//输出 42  ,

                }





ref和out的区别

  • 2013年06月01日 11:23
  • 27KB
  • 下载

C_中out和ref的区别

  • 2011年09月20日 17:14
  • 20KB
  • 下载

(C#)方法参数关键字:ref、out、params详解

备注:以下来自MSDN和网络参考,经过整理后的文档 ref(C# 参考) ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数的任何更改都将反映在该变量中。若要使用 ...

Ref和out关键字的区别

  • 2014年10月12日 21:41
  • 72KB
  • 下载

ref和out传值

  • 2014年12月21日 16:18
  • 47KB
  • 下载

图解C#的值类型,引用类型,栈,堆,ref,out

图解C#的值类型,引用类型,栈,堆,ref,out C# 的类型系统可分为两种类型,一是值类型,一是引用类型,这个每个C#程序员都了解。还有托管堆,栈,ref,out等等概念也是每个...
  • Litt_J
  • Litt_J
  • 2015年01月05日 22:04
  • 410

C_基础:ref和out的区别.txt

  • 2012年11月08日 14:57
  • 3KB
  • 下载

(搜集整理的)C_中ref和out用法

  • 2011年08月22日 22:09
  • 80KB
  • 下载

参数修饰符ref,out ,params的区别

参数修饰符ref,out ,params的区别 C#中有三个关键字-ref,out ,params,虽然本人不喜欢这三个关键字,因为它们疑似破坏面向对象特性。但是既然微软把融入在c#...

out和ref传值的区别

  • 2016年04月12日 10:03
  • 215B
  • 下载
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:ref和out
举报原因:
原因补充:

(最多只允许输入30个字)