1.ref修饰符与out修饰符
>ref参数在传递时必须先为参数赋值
int x=100;
M1(ref x);
Console.WriteLine(x);
>ref传递的是地址,按引用传递
>out
out传递的也是地址
out参数在传递之前完全没有必要赋值,即便赋值了也没有任何意义,在方法中
使用之前必须重新赋值,才能使用,out参数无法将变量的值,从方法外面传递进来。
TestOut(out n);
Console.WriteLine(n);
//out参数的主要作用就是,当方法有多个返回值的时候,可以通过out参数来获取方法的多个返回值。
static void TestOut(out int m)
{
//既然out参数无法把方法外的变量值传递进来,所以在方法中必须为out参数赋值后才能使用
//out参数要求在方法中必须为该参数赋值!!!!!
m = 100;
}
2.params可变参数
>可变参数,是参数的数量可变
>params无论有几个参数,必须出现在参数列表的最后,而且参数是一个数组,数据类型必须相同。
>如果一个参数都不传递,数组不为null,而是长度为0 的数组
>如果使用方法有多个参数,这可变参数必须写在最后一个。
>可变参数也可以直接传一个数组进来