c#中方法的参数有四种类型:
-值参数:不含所有修饰符。方法中的形参是实参的一份拷贝,形参的改动不会影响到内存中实参的的值,实参是安全的。
-引用参数:以ref修饰符声明。传递的参数实际上是实参的指针,所以在方法中的操作都是直接对实参进行的,而不是复制一个值;能利用这个方式在方法调用时双向传递参数;为了以ref方式使用参数,必须在方法声明和方法调用中都明确地指定ref关键字,并且实参变量在传递给方法前必须进行初始化。
-输出参数:以out修饰符声明。和ref类似,他也是直接对实参进行操作。在方法声明和方法调用时都必须明确地指定out关键字。out参数声明方式不需求变量传递给方法前进行初始化,因为他的含义只是用作输出目的。不过,在方法返回前,必须对out参数进行赋值。
-数组型参数:以params修饰符声明。params关键字用来声明可变长度的参数列表。方法声明中只能包含一个params参数。
using system; class test { static void f(params int[] args) { console.writeline("array contains {0} elements:",args.length); foreach(int i in args) console.write("{0}",i); console.writeline(); } public static void main() { int [] a = {1,2,3}; f(a); f(10,20,30,40); f(); } }