ref:
ref 关键字使参数按引用传递。其效果是,当控制权传递回调用方法时,在方法中对参数所做的任何更改都将反映在该变量中。
我的理解就是:ref能够把参数原本值带进函数内,经过一些运算,然后再带出去。(注意参数的值必须在调用之前赋值),就相当于将值直接传进去,方法里面可以对这个值进行修改之后,外面的值也会直接变化成修改的值,
//使用ref关键字的注意点:
//i、方法定义和调用方法都必须显式使用 ref 关键字
//ii、传递到 ref 参数的参数必须初始化, 否则程序会报错
//iii、通过ref的这个特性,一定程度上解决了C#中的函数只能有一个返回值的问题
out
out 关键字会导致参数通过引用来传递。这与 ref 关键字类似,不同之处在于 ref 要求变量必须在传递之前进行初始化。
若要使用 out 参数,方法定义和调用方法都必须显式使用 out 关键字
//i、方法定义和调用方法都必须显式使用 out关键字
//ii、out关键字无法将参数值传递到out参数所在的方法中,只能传递参数的引用(个人理解),所以out参数的参数值初始化必须在其方法内进行,否则程序会报错
//iii、通过out的这个特性,一定程度上解决了C#中的函数只能有一个返回值的问题