参数传递分两种:
按值传递(by val):传递时形参拷贝实参的数据,形参和实参为两个变量,故形参的改变不会影响实参。
按值传递可以指定默认值,默认值必须是常数表达式,带默认值的参数必须位于参数列表的最后。
按值传递的参数如果是个指针型变量,会生成一个指针地址的拷贝。即改变形参指向的内容,实参指向的内容改变;改变形参指针地址的指向,实参地址不变。
引用传递(by ref):形参和实参是同一个变量,可以将形参看做实参的别名,故形参改变,实参随之改变。通过在参数前加var来声明。
参数声明中的const和out关键字
const声明的参数时按值传递的,且形参不能被改变。
out生命的参数是引用传递的,但实参传递给形参的值会被忽略;主要作为输出参数。
一种特殊的参数类型:无类型参数,即声明时没有指定具体类型的参数。从语法上讲,可以接受任何类型的数据。而且无类型参数必须加const,var,out前缀。