if (this == null) Console.WriteLine("this is null");
这句话一写,大家一定觉得荒谬,然而 if
内代码的执行却是可能的!本文讲介绍到底发生了什么。
制造一个 this 可以为 null 的程序
请看代码,这是我们的库函数:
namespace Walterlv.Demo
{
public class Foo
{
public void Test()
{
if (this == null) Console.WriteLine("this is null");
else Console.WriteLine("this is not null");
}
}
}
外面是这样调用的:
namespace Walterlv.Demo
{
public class Program
{
private static void Main()
{
Foo p = null;
p.Test();
}
}
}
</