There are Class A, and variables A and B of type A. After initialization of a, assign a to B. The A is then assigned null. B can still be used after that.
Thinking error: After thought A=null, B should also be equal to NULL.
The actual test results are as follows
classProgram {Static voidMain (string[] args) { Try{A A=NewA () {data ="Hello World" }; A b=A; if(B.equals (a)) {Console.WriteLine ("A and B are the same object"); } Else{Console.WriteLine ("A and B are not of the same object"); } a.data="Good Morning"; A=NULL; //B = null;GC. Collect (); Console.WriteLine (B.data); } Catch(Exception ex) {Console.WriteLine (ex). Message); } console.readkey (); } } classA {Internal stringdata; }
Finally found the answer on the StackOverflow, the original to a reference is null, just the point is removed. Other variables can also point to previous content
Http://stackoverflow.com/questions/8069396/setting-a-type-reference-type-to-null-doesnt-affect-copied-type
The role of assigning Null to a reference in C #