class Person//声明一个Person类 { //类中的声明与Main中不同,类中声明的是字段而不是函数。 public string gender; public string name="Tom";//在类中只能给字段赋值一行代码 public int age=Convert.ToInt32("30"); } class Program { static void Main(string[] args) { int age=16; Person p1 = new Person();//定义Person类的对象p1 p1.gender = "man"; Person p2 = p1;//对p2指向对象p1当前指向的字段 p1.age = 25;//改变p1指向的字段age,即改变p2指向的字段 Console.WriteLine(p2.age);//p2.age就输出改变之后的值即25 Console.ReadKey(); } }
此时p2与p1等价,当改变p1所指向的字段的值也会改变p2所指向的字段的值。如下图所示
当我们接着上面的程序输入
p1 = null; p1.age = 50; Console.WriteLine(p1.age);
执行时就会报错,显示错误信息为“其他信息: 未将对象引用设置到对象的实例。”即你切断了p1与Person之间的联系,就无法再修改Person类当中的字段的值。
2018.08.06