ref参数称为引用参数, in参数称为输入参数,out参数称为输出参数。
相同点
ref,out,in标记的参数都是引用传递。
ref,out,in关键字都不能约束方法签名。
形参使用了ref,out,in关键字,传递参数时也需要添加ref,out,in关键字。
不同点
in形参不让修改。所以in实参必须初始化。
out形参必须修改。所以out实参不需要初始化。
ref形参修改和不修改都行。ref实参也是必须初始化。
注意:
如果使用in关键字,就不能使用ref和out;
如果使用ref关键字,就不能使用in和out;
如果使用out关键字,就不能使用in和ref;
即:ref,in,out三者不能组合,不能同时使用到数据类型前但可以分开使用到数据类型前。
ref/out后的实参不能是只读的,ref/out/in后的实参不能是常量。
out输出参数还有一个优点:可以让方法多一个返回结果。
params 参数必须传递一维数组,可变参数 个数不确定且可变参数必须为最后一个参数