传递参数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 }

 

posted @ 2018-11-02 17:17  邢韬  阅读(358)  评论(0编辑  收藏  举报