C# 允许将 null 值赋给任意引用变量(不能把 null 赋给一个值变量)。值为 null 的变量表明该变量不引用内存中的任何对象。

如下所示:

 



Circle c = new Circle(10);  
Circle copy = new Circle(20); // 随便用一个值来初始化 copy
copy = c;// copy 和 c 引用同一个对象</span>


 

将 c 赋给 copy,则 copy 和 c 引用同一个对象,而 copy 原来引用的对象则由 runtime 执行一个称为垃圾回收(garbage collection)的操作来回收内存。

这并不是一种好的写法,当只有在一个变量不包含一个引用的时候,才允许这个变量引用一个对象,则需要用到 null。

如下所示:

 



Circle c = new Circle();  
Circle copy = null;

if(copy == null)
{
copy = c; // copy 和 c 引用同一个对象
}


 


你们的评论、反馈,及对你们有所用,是我整理材料和博文写作的最大的鼓励和唯一动力。欢迎讨论和关注!

没有整理与归纳的知识,一文不值!高度概括与梳理的知识,才是自己真正的知识与技能。 永远不要让自己的自由、好奇、充满创造力的想法被现实的框架所束缚,让创造力自由成长吧! 多花时间,关心他(她)人,正如别人所关心你的。理想的腾飞与实现,没有别人的支持与帮助,是万万不能的。