在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 使用本没什么区别。
相同点:1.ref和out 都可以让方法不使用return返回参数
2.ref和out都可以解决方法只能返回一个值的问题。
不同点:ref参数在传入方法之前必须进行初始化;而out参数在传入方法之前可以不用初始化。
ref参数在方法内部可以直接使用;而out参数在方法内部不能直接使用。
ref参数在方法内部可以使用也可以不使用;而out参数在方法返回之前必须对其赋值。