C# Obj对object.ReferenceEquals为空(Obj,空)

C# Obj对object.ReferenceEquals为空(Obj,空),c#,C#,两者的区别是什么 if (Obj is null) Console.WriteLine("Value is null"); if (object.ReferenceEquals(Obj, null)) Console.WriteLine("Value is null"); 我试图重写=操作符,因此不能使用Obj==nullReferenceEquals(Obj,null)和(Obj为null)做完全相同的事情,但后者仅作为C#7.0语法和更高版本的一部分可用。因为object.Referen

两者的区别是什么

if (Obj is null) Console.WriteLine("Value is null");

if (object.ReferenceEquals(Obj, null)) Console.WriteLine("Value is null");

我试图重写
=
操作符,因此不能使用
Obj==null

ReferenceEquals(Obj,null)
(Obj为null)
做完全相同的事情,但后者仅作为C#7.0语法和更高版本的一部分可用。

因为
object.ReferenceEquals()
内部是
==
检查(),然后:可能是重复的我不知道是谁投了反对票,但IIRC,这是完全正确的!