(十五)C#编程基础复习——值传递、引用传递、输出传递

发布时间 2023-11-13 17:09:07作者: 代号六零一

通过前面的学习,我们了解了在调用带有参数的函数时,需要将参数传递给函数。在介绍这几种传递方式之前,我们先来介绍一下形式参数(形参)和实际参数(实参)这两个概念:

  1. 形式参数:在定义函数阶段参数列表中定义的参数称之为形式参数,简称形参,可以将它看做变量的名称,它没有具体的值,只是用来接收函数调用时传递过来的数据;
  2. 实际参数:在函数被调用时传递给函数的参数称之为实际参数,简称实参,可以将它看做变量的值,用来为形参赋值
  3. 参数可以通过以下三种方式传递给函数:

一、值传递

在C#中,值传递是将参数传递给函数的默认方式,值传递的本质就是将实参的副本(将实参的值复制一份)传递给函数的形参。当调用函数时,将使用实参为每个形参赋值,并为每个形参创建一个新的存储位置,由于形参和实参指向不同的内存位置,所以无论是修改实参的值还是修改形参的值都不会对彼此造成影响。

代码示例如下:

namespace Day5
{
    internal class Program
    {
        static void Main(string[] args)
        {
            int val = 10;
            Program obj = new Program();
            Console.WriteLine("调用函数之前:{0}",val);
            obj.Func(val);
            Console.WriteLine("调用函数之后:{0}",val);
            Console.ReadLine();
            Console.ReadKey();
        }
        public void Func(int val)
        {
            val *= val;//val=val*val;
            Console.WriteLine("函数内部的值:{0}",val);
        }
    }
}

运行结果:

通过结果可以看出,尽管我们在函数内部对形参val的值进行的修改,但是并不会影响函数外部实参val的值。