using System; using System.Collections.Generic; using System.Linq; using System.Text; namespace _49_ref_out { class Program { static void Main(string[] args) { /* 函数的ref out参数 * 函数参数默认的值传递的,也就是"复制一份",例子: * int age = 20; * Int Age(age); * Console.WriteLine("age={0}",age); * ref必须先初始化,因为是引用,所以必须先"有",才能引用,而out则是内部为外部赋值,所以不需要初始化,而且初始化也没用 * ref应用的景内部对外部的值进行改变,out则是内部对外部变量的赋值,out一般用在函数有多个返回值的场所 * 两个变量的交换 int.TryParse */ int i = 5; IncAge(ref i); Console.WriteLine("年龄为;{0}",i); int age=100; IncAgeOut(out age); IncAgeOut(out age); Console.WriteLine("年龄为;{0}", age); Console.ReadKey(); } static void IncAgeOut(out int age) { age = 55; } //引用 static void IncAge(ref int age) { age += 5; } } }