static void Main(string[] args) { int x = 0; GetVal(x); Console.WriteLine(x); //x=0,很遗憾,传递的是值类型,x的值没有变化 GetRefVal(ref x); Console.WriteLine(x); //x=10, x的值已经改变啦 Console.ReadLine(); } private static void GetVal(int x)//这里只是单纯的复制x=0这个变量.传说中的传值 { x = 10;} private static void GetRefVal(ref int x)//参数x是1个指向堆栈中值类型为int的指针 //传说中的传址 { x = 10;}