internal class Program { static void ShowDouble(int val) { val *= 2; Console.WriteLine($"ShowDouble函数中val的值为:{val}"); } static void Main(string[] args) { int val = 6; Console.WriteLine($"Main函数中执行ShowDouble函数前val的值为:{val}"); ShowDouble(val); Console.WriteLine($"Main函数中执行ShowDouble函数后val的值为:{val}"); } }运行结果,如下图所示:
internal class Program { static int ShowDouble(int val) { val *= 2; Console.WriteLine($"ShowDouble函数中val的值为:{val}"); return val; } static void Main(string[] args) { int val = 6; Console.WriteLine($"Main函数中执行ShowDouble函数前val的值为:{val}"); val = ShowDouble(val); Console.WriteLine($"Main函数中执行ShowDouble函数后val的值为:{val}"); } }运行结果,如下所示:
internal class Program { static void ShowDouble(ref int val) { val *= 2; Console.WriteLine($"ShowDouble函数中val的值为:{val}"); } static void Main(string[] args) { int val = 6; Console.WriteLine($"Main函数中执行ShowDouble函数前val的值为:{val}"); ShowDouble(ref val); Console.WriteLine($"Main函数中执行ShowDouble函数后val的值为:{val}"); } }运行结果,如下图所示:
const int val = 6;这种写法,编译器会报错,如下图所示:
int val; ShowDouble(ref val);
这种写法,编译器也会报错,如下图所示: