值传递与引用传递

值传递传递的是复本。

引用传递传递的是地址。

上代码:

 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     }

 

你可能感兴趣的:(引用传递)