| 1、ref参数运用的例子 static void Main(string[] args)
 {
 int age = 20;
 IncAge(ref age);
 Console.WriteLine(age);
 Console.ReadKey();
 }
 static void IncAge(ref int age)//此时的age指向的就是主函数中age变量所在内存中的位子,即传递了引用
 {
 age++;
 }//
 输出age=21。
 2、out参数运用的例子
 
 static void Main(string[] args)
 {
 int age = 20;
 IncAge(out age);
 Console.WriteLine(age);
 Console.ReadKey();
 }
 
 static void IncAge(out int age)
 {
 age = 30;
 age++;
 }
 此时输出age=31,与main函数中age的赋值无关。
 
 结论:ref必须先初始化,因为是引用,所以必须先“有”,才能引用,而out则是内部为外部赋值,所以不需要初始化,初始化了也没用。
 ref应用场景内部对外部的值进行改变(也可以是不改变),out则是内部为外部赋值(必须赋予一个值),out一般用在有多个返回值的场景。
 |