Out And Ref

在C#中Out和Ref使用方法基本一样。
Out使用时其实参数可以不赋值,在使用时在实参数前面加上Out,如下:Out variable,在接下来的被调用的方法中,把variable初始化,在方法返回的时候,此variable的值会被修改后返回,当然variable在调用之前赋值也不会有问题。
Ref在使用的时候,被ref的参数必须要先被赋值,然后在调用其他方法时在variable前面加上Ref,如下:ref variable,这个变量在接下里的方法中被改写后会返回来。

Out 和 Ref 这两个参数类型的限制有不同的作用。

 static void Main(string[] args)
        {
            int arg; /*This variable must be initialized before being used.*/
            arg = 0;
            Add(ref arg);
            Console.WriteLine("The arg is {0}", arg);

            int argOut;/*This variable initialization is not necessary before being used.*/
            /*argOut = 0;*/
            AddOut(out argOut);
            Console.WriteLine("The argOut is {0}",argOut);
            Console.ReadKey();
        }

        static void Add(ref int num)
        {
            num++;
        }

        static void AddOut(out int num)
        {
            num = 1;
            num++;
        }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容