C# 对象的赋值

引用对象赋值
使用 ‘=’,是将对象的地址赋值给新对象
当原对象改变时,新对象也会改变

 FileInfoInIni testIni = null;
 FileInfoInIni copyIni = null;
testIni = new FileInfoInIni("F:\\资料\\test.ini", "ttt", DateTime.Now.ToString("T"));
copyIni = testIni;
richTextBox1.Text += string.Format("testIni.Value = {0},copyIni.Value={1}  \n", testIni.Value.ToString () , copyIni.Value.ToString () ); ;

输出为:

 FileInfoInIni testIni = null;
 FileInfoInIni copyIni = null;
 testIni = new FileInfoInIni("F:\\资料\\test.ini", "ttt", DateTime.Now.ToString("T"));
copyIni = testIni;
testIni = new FileInfoInIni("F:\\资料\\test.ini", "test", DateTime .Now .ToString ("T"));
 richTextBox1.Text += string.Format("testIni.Value = {0},copyIni.Value={1}  \n", testIni.Value.ToString () , copyIni.Value.ToString () ); ;

输出结果为:

 FileInfoInIni testIni = null;
 FileInfoInIni copyIni = null;
 testIni = new FileInfoInIni("F:\\资料\\test.ini", "ttt", DateTime.Now.ToString("T"));
copyIni = testIni;
 copyIni = new FileInfoInIni("F:\\资料\\test.ini", "copy", DateTime.Now.ToString("T"));
 richTextBox1.Text += string.Format("testIni.Value = {0},copyIni.Value={1}  \n", testIni.Value.ToString () , copyIni.Value.ToString () ); ;

输出结果为:

结论:

  1. 当引用对象使用‘=’进行赋值时,实际传递的时对象地址,当原对象进行操作时,新对象也会进行相应的改变。

  2. 但是当原对象或新对象进行 ’new‘,或者’=
    null‘时,两个对象之间的连接断开。’new‘和’=null‘改变的是对象地址,而不是对象本身。

  3. 当对象处于对象中是,原理是一样的。使用null 或 new 操作的是对象地址

你可能感兴趣的:(程序)