zoukankan      html  css  js  c++  java
  • ref、out参数

    ref和out都是表示按引用传递。与指针类似,直接指向同一内存。

    按值传递参数的方法永远不可能改变方法外的变量,需要改变方法外的变量就必须按引用传递参数。

    传递参数的方法,在C语言里,用指针。在C#里,可以用指针,但是更通常也更安全的做法就是用ref。

    namespace ConsoleApplication1
    {
        class Program
        {
            int Add(int x,int y)
            {
                x = x + y;
                return x;
            }
            int Add(ref int x,int y)
            {
                x = x + y;
                return x;
            }
            int Add(int x,int y,out int z)
            {
                z = x + y;
                return z;
            }
            int Add(params int[] x)//可变长参数数组
            {
                int result = 0;
                for (int i = 0; i < x.Length; i++)
                {
                    result += x[i];
                }
                return result;
            }
            static void Main(string[] args)
            {
                Program p = new Program();
                int x = 30, y = 40;
                int z;
                Console.WriteLine("值参数" + p.Add(x, y));
                Console.WriteLine(x);//30,方法内的x与外部x不是同一内存
                Console.WriteLine("ref参数" + p.Add(ref x, y));
                Console.WriteLine(x);//70,引用传参,指向同一内存
                Console.WriteLine("out参数" + p.Add(x, y, out z));
                Console.WriteLine("params参数" + p.Add(2, 3, 4, 5));
            }
        }
    }

    关于params,参考 https://blog.csdn.net/wcc27857285/article/details/80991824

    ref、out的更多内容,参考 https://www.cnblogs.com/vd630/p/4601919.html

  • 相关阅读:
    python面向对象(一)
    ls和cd命令详解
    SHELL 中的变量
    Shell基础
    Python版飞机大战
    Python模块制作
    Linux的cut命令
    Linux中的wc命令
    Ubuntu系统下adb devices 不能显示手机设备
    app耗电量测试工具--PowerTutor
  • 原文地址:https://www.cnblogs.com/xixixing/p/10788670.html
Copyright © 2011-2022 走看看