ref和out

Posted SpringDragon

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ref和out相关的知识,希望对你有一定的参考价值。

  ref关键字:

    是用来修饰形参的,可以将值类型当做引用类型来使用

    ref修饰的形参,在方法内部修改的时候,会影响实参的值

    ref修饰的形参,在传参的时候,实参的值可以带入方法中

    ref修饰的形参,在方法结束之前可以不赋值

 

 

  out关键字:

    out关键字:

      用来修饰形参的,out修饰的形参必须在方法结束之前赋值

      out修饰的形参,在方法内部进行修改的时候,会影响实参的值

      out修饰的形参,在传参的时候,实参的值不会带入到方法中

      out可以变相的使用多返回

class Program
{
    static void Main(string[] args)
    {
        int m = 10, n, x, y;
        Add(m, out n, out x, out y);
        int i = 10, j = 20;
        Change(ref i, ref j);
    }
    static void Change(ref int a, ref int b)
    {
        int temp = a;
        a = b;
        b = temp;
    }
    static void Add(int a,out int b,out int c,out int d)
    {
        b = 1;
        c = 2;
        d = 3;
    }
}

  

以上是关于ref和out的主要内容,如果未能解决你的问题,请参考以下文章

.NET 中 ref 和 out 参数之间的区别 [重复]

C# 中的 Lambda 和 ref/out

ref和out的区别,值类型和引用类型的使用

C# out ref 用法总结

浅谈c#的三个高级参数ref out 和Params

浅谈c#的三个高级参数ref out 和Params