首页 > 代码库 > C#中将一个引用赋值null的作用
C#中将一个引用赋值null的作用
有类A,以及A类型的变量a和b。初始化a之后,将a赋给b。之后将a赋为null。之后b还是可以使用。
思维误区:本来以为a=null之后,b也应该等于null。
实际测试效果如下
class Program { static void Main(string[] args) { try { A a = new A() { data = http://www.mamicode.com/"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,仅仅是把指向去掉了。其他变量还是可以指向之前的内容
http://stackoverflow.com/questions/8069396/setting-a-type-reference-type-to-null-doesnt-affect-copied-type
C#中将一个引用赋值null的作用
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。