C#ref和out关键字的有什么区别?

在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 

C#ref和out关键字的有什么区别?_第1张图片

调用时加out 

 

ref和out 使用本没什么区别。

2.相同点和不同点

相同点:1.ref和out 都可以让方法不使用return返回参数

               2.ref和out都可以解决方法只能返回一个值的问题。

不同点:ref参数在传入方法之前必须进行初始化;而out参数在传入方法之前可以不用初始化。

                ref参数在方法内部可以直接使用;而out参数在方法内部不能直接使用。

            ref参数在方法内部可以使用也可以不使用;而out参数在方法返回之前必须对其赋值。

你可能感兴趣的:(.net,c#,开发语言,面试)