美文网首页
C#之ref和out

C#之ref和out

作者: 困卡 | 来源:发表于2017-04-02 23:26 被阅读0次

思考下面的代码会输出什么值。

 static void Main()
        {
            int number = 10;
            add(number);
            Console.WriteLine(number);
            Console.ReadLine();
        }

        static void add(int number)
        {
            number = number+number;

            Console.WriteLine(number);
        }
ref用途

ref用来修饰方法的参数,被ref修饰的参数,在调用的时候,会传递过来的是一个引用。当在方法中修改参数时,那么调用方传递过来的那个变量的值也会被改变。在将要调用的方法的参数中,如果有ref修饰的参数,那么该参数需要在传递之前初始化。
看下面的例子来理解:

        static void Main()
        {
            int x = 10;
            TestRef(ref x); //传的参数是x所在的内存地址
            Console.WriteLine(x); // 20
        }

        static void TestRef( ref int number1) //这里是指向值为10的内存地址
        {
            Console.WriteLine("TestRef输出"+ number1); //10
            number1 += number1;
            Console.WriteLine("TestRef输出" + number1);// 20
        }
out用途

out也是用来修饰方法的参数,跟ref很类似,被out修饰的参数,在调用的时候,会传递过来的是一个引用。当在方法中修改参数时,那么调用方传递过来的那个变量的值也会被改变。在将要调用的方法的参数中,如果有out修饰的参数,那么该参数可以不需要在传递之前初始化。
看下面的例子

        static void Main()
        {
            int y;
            TestOut(out y);
            Console.WriteLine(y); //30

            Console.ReadLine();
        }

        static void TestOut(out int number1)
        {
            number1 = 30;
            Console.WriteLine("TestOut输出" + number1); // 30
        }
ref和out的不同点:

ref修饰的参数在传递之前必须要初始化
out修饰的参数在传递之前可以不初始化

相关文章

  • C#之ref和out

    思考下面的代码会输出什么值。 ref用途 ref用来修饰方法的参数,被ref修饰的参数,在调用的时候,会传递过来的...

  • C#中out和ref之间的区别

    在本文,你将学会C#中 out 和 ref各自的区别,依旧具体使用场景。 共同点out、ref都是传递引用(内存地...

  • Ref、Out、In

    Ref ??? 传引用??? Out(a new feature of C# 7) string input1 =...

  • C# ref out

    ref按引用传递,在方法内可以直接修改原对象。是一种直接修改原变量的方式 out,方法内必须对参数进行赋值,外部无...

  • C#—参数传递之 Ref 和 Out

    ref 和 out 声明的参数 1.两者都是按地址传递的,使用后都将改变原来参数的数值。 2.ref 可以把参数的...

  • Out And Ref

    在C#中Out和Ref使用方法基本一样。Out使用时其实参数可以不赋值,在使用时在实参数前面加上Out,如下:Ou...

  • C#中的out和ref

    ref参数 在C#中,调用函数时的实参对应到函数的形参时,实际是新建一个变量,然后将实参的值赋给形参,然后函数再用...

  • C#:ref 和 out 的区别

    outputi am Keyword109 Press any key to continue... out作为方...

  • C# ref & out

    1. What is ref & out ? 参数传递时按引用传递参数 2.Why need ref & out ...

  • Unity中有关C#的几个要点

    大致总结下C#中几个常见知识点的个人理解,以对基础已经有所了解为前提。 ref/out 区别:ref参数需要在传入...

网友评论

      本文标题:C#之ref和out

      本文链接:https://www.haomeiwen.com/subject/fylnottx.html