传递参数ref与输出参数out

Posted xt112233

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了传递参数ref与输出参数out相关的知识,希望对你有一定的参考价值。

ref与out都可以在全局中改变传入的参数的值

但使用ref时,传入的参数必须已赋值,否则是非法的
使用out时,传入参数可以未赋值,但无论如何都必须在方法中赋值

例:

 1 static double a = 10;
 2 static double b = 20;
 3 
 4 static void Test(ref double x,out double y)
 5 {
 6     y = 0;  //必须要在方法中赋值一下
 7     x *= 10;
 8     y *= 20;
 9     Console.WriteLine(x);
10     Console.WriteLine(y);
11 }
12 static void Main(string[] args)
13 {
14     Console.WriteLine(a);
15     Console.WriteLine(b);
16 
17     Test(ref a,out b);
18     Console.WriteLine(a);
19     Console.WriteLine(b);
20     Console.ReadKey();
21 }

 

以上是关于传递参数ref与输出参数out的主要内容,如果未能解决你的问题,请参考以下文章

C# ref与out关键字区别

简述ref与out区别

C#中ref与out使用小结

C#值参数和引用参数,方法的重载,foreach,数组,以及ref和out的用法

是否可以将属性作为“out”或“ref”参数传递?

是否可以将属性作为“out”或“ref”参数传递?