在C#中有特殊的关键字,ref和out两个传参的关键字。
1.使用:ref和out的使用方法很都一样,在定义的方法参数上加上ref或者out,
调用方法时候也添加ref或者out。
public static void TestRef(ref int a, ref int b)
{
a = a + b;
b = 666;
}
public static void TestOut(out int? aa, out int? bb)
{
aa = 1 + 2;
bb = 888+aa;
}
调用时加ref
调用时加out
ref和out 使用本没什么区别。
2.相同点和不同点
相同点:1.ref和out 都可以让方法不使用return返回参数
2.ref和out都可以解决方法只能返回一个值的问题。
不同点:ref参数在传入方法之前必须进行初始化;而out参数在传入方法之前可以不用初始化。
ref参数在方法内部可以直接使用;而out参数在方法内部不能直接使用。
ref参数在方法内部可以使用也可以不使用;而out参数在方法返回之前必须对其赋值。