Jon*_*eet 20
我建议你用
object.Equals(o1, o2)
Run Code Online (Sandbox Code Playgroud)
因为这也将应对无效.(假设您希望两个空引用比较相等.)
你应该不使用==,因为运营商不采用多态; 类型重载 ==但它们不会覆盖它(没有什么可以覆盖).如果你使用
o1 == o2
Run Code Online (Sandbox Code Playgroud)
这将比较它们的参考标识,因为变量被声明为类型object.
使用o1.Equals(o2)将工作,除非在o1null 的情况下- 此时它会抛出一个NullReferenceException.