值类型重新赋值,不会影响原数值;引用类型直接赋值,会影响原数值

 

 1 using System;
 2 using System.Collections.Generic;
 3 using System.Linq;
 4 using System.Text;
 5 using System.Threading.Tasks;
 6 
 7 namespace Demo2
 8 {
 9     class Program
10     {
11         static void Main(string[] args)
12         {
13             RefAndValue.Demo();//由于定义的是静态的类,所以直接调用就可以
14             
15         }
16     }
17     class stanp//定义一个类
18     {
19         public string Name { get; set; }//定义一个引用类型
20         public int Age { get; set; }//定义一个值类型的属性
21     }
22     static class RefAndValue//定义静态类
23     {
24         public static void Demo()//定义一个方法
25         {
26             stanp Stanp1 = new stanp { Name = "A", Age = 25 };//创建stanp的类对象stanp1给name和age赋值
27             stanp Stanp2 = new stanp { Name = "B", Age = 30 };//创建stanp的类对象stanp2给name和age赋值;
28             int age = Stanp1.Age;//定义一个int类型变量age
29             Stanp1.Age = 35;//对stanp1中的age值修改属性,修改为35;值类型
30             stanp Stanp3 = Stanp2;//创建stanp对象stanp3
31             Stanp2.Name = "C";//修改stanp2中的值;引用类型
32             Console.WriteLine("stanp1的age属性" + Stanp1.Age);
33             Console.WriteLine("age的值" + age);
34             Console.WriteLine("stanp2的name值" + Stanp2.Name);
35             Console.WriteLine("stanp3的name值" + Stanp3.Name);
36             Console.Read();
37         }
38     }
39 }

运行结果: