请解释一下这两个声明之间的区别.
第一个语句抛出异常,第二个返回布尔值
Version a = null;
if(a.Equals(null)) // throw the exception
if(Equals(a,null)) // return the bool value true
Run Code Online (Sandbox Code Playgroud)
你不能在没有用对象a.Equals初始化的情况下调用a,否则它会抛出NullReferenceExcption,但是它Equals是一个静态方法,它检查传递给它的两个引用是否相同,这些引用可以有空值.