Out And Ref

2019-04-21  本文已影响0人  若水生花啊啊啊

在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++;
        }
上一篇 下一篇

猜你喜欢

热点阅读