1、准备
struct Str { public int i; } class Cla { public int i; } 2、赋值 Str str = new Str(); str.i = 10; Cla cla = new Cla(); cla.i = 10; 分类: 运算A static void F(Str str) { str.i = 100; } static void F(Cla cla) { cla.i = 100; } 结果A F(str); Console.WriteLine(str.i);//结果10 F(cla); Console.WriteLine( cla.i);//结果100 运算B static void F(ref Str str) { str.i = 100; } static void F(ref Cla cla) { cla.i = 100; } 结果B F(ref str); Console.WriteLine(str.i);//结果100 F(ref cla); Console.WriteLine( cla.i);//结果100运算C
static void F(Str str) { str=new Str(); str.i = 100; } static void F(Cla cla) { cla=new Cla(); cla.i = 100; } 结果C F(str); Console.WriteLine(str.i);//结果10 F(cla); Console.WriteLine( cla.i);//结果10运算D
static void F(ref Str str) { str=new Str(); str.i = 100; } static void F(ref Cla cla) { cla=new Cla(); cla.i = 100; } 结果D F(ref str); Console.WriteLine(str.i);//结果100 F(ref cla); Console.WriteLine( cla.i);//结果100