out修饰符
在c#中,当希望方法返回多个值时,声明 out方法很有用。使用 out参数的方法仍然可以将变量用作返回类型
,但它还可以将一个或多个对象作为 out参数返回给调用方法。
例:
public static bool TestOut(string pass,out int a,out bool b,out string msg)
{
a = 123;
b = true;
if (pass == "123456")
{
msg = "密码正确";
return true;
}
else
{
msg = "密码错误";
return false;
}
}

当前定义了一个密码判断的方法,但该方法返回值是bool类型,我们还需要返回一个提示信息string类型的话,就可以用到out参数。

而out参数声明需要在方法形参上定义:如int a,则写成out int a
调用该方法时如果该方法声明了该out形参,那么调用方法实参也需要加上out,且必须先定义好变量,如:
int a;
调用方法名(out a);
out参数则重于在同一个方法中可返回不同类型的值
ref修饰符
ref的作用就是把方法外面的值带到方法内,方法内修改完该值的改变会直接改变方法外传进来的属性值。ref方法则不需要返回值

调用方法和out类似,但ref的主要作用是将一个变量带入方法中进行改变,改变完成后再将改变的值带出方法
in默认传参
总结:out参数必须要求在方法内部进行赋值,ref参数必须要求在方法外部先进行赋值
params可变参数
在形参中这样写,并且是形参列表中最后一位,params int[] arr
调用方法名(1,2,3,4)