方法的基本的语法格式为:
[作用域] 返回类型 方法名(参数1类型 参数1,参数2类型 参数2……)
{
//方法体
}
形参和实参这两个概念针对的是值类型的参数,对于引用参数则不存在这个问题。
首先,区分形参和实参
Example:
public int Foo(int i)
{
//方法体
}
//调用Foo方法
int a = 0;
a = Foo(a);
在这个例子中,i是形参;a是实参。
其次,区分值参数、引用参数、输出参数、数组类型参数
值参数(Value parameter):
Example:
public double Get(double r)
{
//方法体
}
使用值参数时,传递到方法体中的是实参的一个副本,而不是实参本身。
引用参数(Ref parameter):
Example:
public double Get(ref double r)
{
//方法体
}
引用类型保存的是引用,而不是数值。引用参数传递到方法中的是其本身。
在调用还有引用参数的方法时,也需要使用ref关键字来标识参数。
输出参数(Out parameter):
Example:
public double Get(out double r)
{
//方法体
}
C#提供了输出参数,可以返回多个值,输出参数使用out关键字定义。
与引用参数不同的是,输出参数不需要初始化。
数组类型参数(params type[]):
Example:
public double Get(params double[] r)
{
//方法体
}
参数的类型一样但是个数不确定,这种类型的参数是通过数组的方式传递到方法中,
在方法体内往往需要用循环语句把数组参数遍历处理。
可选参数
Example:
public double Get(double r = 0)
{
//方法体
}
可选参数就是将参数在定义的时候,设置一个默认值。
调用时若设置了该参数的值,则使用设置的值;若没有设置该参数的值,则使用默认参数。