8.5 参数

在前面的例子中,我们已经不止一次地接触到方法的参数,如Print(string str)方法中的str、Add(int a,int b)方法中的a和b等。参数起的是一个占位符的作用,它表示在实际执行方法时传入的值在方法体的代码中参与运算。

方法的参数有形参和实参两种,什么是形参?什么是实参?它们之前有何区别?且待我慢慢为大家道来。

8.5.1 形参

形参,从名称上来看,它是一个形式上的参数,既然是形式上的,它就不是一个实际的值,而是一个“替身”,它代替实际传入的值,在方法体代码中代表了值本身参与运算。形参定义于参数中,它不同于方法体内局部变量,但因为它也是一个变量,在它的作用域内同样不允许存在另一个同名的局部变量,不管它们的类型是否相同,都是不允许的。

光说不练假把式,下面我们来看一个实际的形参例子:


public void SayHelloTo(string name)

{

Console.WriteLine("Hello,{0}!",name);

}


这里的name就是一个形参,它也是一个变量,在整个方法体中都不允许存在第2个名为name的局部变量了。我们说了,形参是一个占位符,当我们传入一个Tom,这段程序的输出结果即为:


Hello,Tom!


同理,传入Jack,输出为:


Hello,Jack!


因此,形参具有如下特点:

❑形参是一个变量,它具有变量的全部特点,比如可以存取值;

❑方法的形参可以有多个,形参之间使用逗号隔开,即使类型相同的多个参数也不可合并声明。