C#中的三种参数传递

在 C# 中,有三种向方法传递参数的方式。

1.值参数:调用方法时,会为每个值参数创建一个新的存储位置,复制参数的实际值给函数的形参。

                按值传递--传递实参变量存储的内容

作用:传递信息

2.引用参数:引用参数是一个对变量的内存位置的引用,复制参数的内存位置的引用给形参。

                按引用传递--传递实参变量自身的内存地址

作用:改变数据

3.输出参数:可以返回多个值。

                按引用传递--传递实参变量自身的内存地址

作用:返回结果

输出参数与引用参数的区别

 ref 传入的变量必须初始化,但是在内部 可改可不改      (有进有出)
​ out 传入的变量不用初始化,但是在内部 必须修改该值  (只出不进)

区别1:输出参数 传递之前不需要赋值

区别2:方法内部必须为输出参数赋值

如下图:

static void Main(string[] args)
        {            
            Console.WriteLine("请输入a的值");
            int a = int.Parse(Console.ReadLine());
            Console.WriteLine("请输入b的值");
            int b = int.Parse(Console.ReadLine());
            Print(out a,out b);
            Console.WriteLine("参数传递后a的值:{0}  b的值:{1}", a, b);
        }        
        public static void Print(out int a,out int b)
        {
            a = 11;
            b = 22;
        }

输出结果如下:


总结

值参数:传递信息 表示实参和形参使用的是两个不同内存中的值。所以形参值改变,不会影响实参的值。

引用参数:改变数据 表示与提供给方法的实际参数具有相同的内存位置。

输出参数:返回结果 会把方法输出的数据赋给自己,其他方面与引用参数相似。

猜你喜欢

转载自blog.csdn.net/weixin_53163894/article/details/125545009