美文网首页
14、ref和out

14、ref和out

作者: Peuimporte | 来源:发表于2021-10-26 01:41 被阅读0次

1. 思考

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

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

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

            Console.WriteLine(number);
        }

2. 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
        }

3. 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
        }

4. ref和out的不同点:

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

相关文章

  • 14、ref和out

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

  • ref 和 out

    ref:如果有ref修饰的参数那么该参数需要在传递之前初始化。 out:如果有out修饰的参数,那么该参数可以不需...

  • ref和out区别

    区别一 ref out 结果:ref那段代码顺利编译并输出 Good Luck! ,而out那段代码无法通过编译提...

  • ref和out区别

    ref和out参数的效果一样,都是通过关键字找到定义在主函数里面的变量的内存地址,并通过方法体内的语法改变它的大小...

  • C# ref & out

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

  • Out And Ref

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

  • Ref、Out、In

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

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

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

  • 17.03.12 .Net基础(三)

    out参数 out参数侧重于在函数中返回多个值 out参数要求必须在方法的内部为其赋值 ref参数 ref参数侧重...

  • ref 和 out 的区别

    网上有很多这方面的文章,但是大部分人总是纠结于他们在原理上的那一点点细微的区别,所以导致了难以区分它们,也不知道什...

网友评论

      本文标题:14、ref和out

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