有類A,以及A類型的變量a和b。初始化a以後,將a賦給b。以後將a賦爲null。以後b仍是能夠使用。測試
思惟誤區:原本覺得a=null以後,b也應該等於null。spa
實際測試效果以下code
class Program { static void Main(string[] args) { try { A a = new A() { data = "Hello World" }; A b = a; if (b.Equals(a)) { Console.WriteLine("a和b是同一個對象"); } else { Console.WriteLine("a和b不是同一個對象"); } a.data = "Good Morning"; a = null; //b = null; GC.Collect(); Console.WriteLine(b.data); } catch (Exception ex) { Console.WriteLine(ex.Message); } Console.ReadKey(); } } class A { internal string data; }
最後在stackoverflow上找到了答案,原來對一個引用賦null,僅僅是把指向去掉了。其餘變量仍是能夠指向以前的內容對象