值传递与引用传递
值传递传递的是复本。
引用传递传递的是地址。
上代码:
1 /// <summary> 2 /// 值类型引用类型 3 /// </summary> 4 /// <param name="sender"></param> 5 /// <param name="e"></param> 6 private void button11_Click(object sender, EventArgs e) 7 { 8 int i = 42; 9 int copy_i = i; 10 i++; 11 //输出结果:i=43 copy_i=42 //值类型 改变不会影响 12 MessageBox.Show("i:"+i+" copy_i:"+copy_i); 13 14 15 //引用传递会改变值 16 Circle c = new Circle(42); 17 Circle copy_c = c; 18 c.Num++; 19 //输出结果:i=43 copy_i=43 //引用类型改变的是地址 20 MessageBox.Show("i:"+c.Num+" copy_i:"+copy_c.Num); 21 } 22 23 /// <summary> 24 /// 验证引用类型 25 /// </summary> 26 public class Circle 27 { 28 29 public int Num { get; set; } 30 31 public Circle(int num) 32 { 33 this.Num = num; 34 } 35 }