Obj 是 null vs object.ReferenceEquals(Obj, null) [重复]
Posted
技术标签:
【中文标题】Obj 是 null vs object.ReferenceEquals(Obj, null) [重复]【英文标题】:Obj is null vs object.ReferenceEquals(Obj, null) [duplicate] 【发布时间】:2019-10-07 17:40:12 【问题描述】:有什么区别
if (Obj is null) Console.WriteLine("Value is null");
if (object.ReferenceEquals(Obj, null)) Console.WriteLine("Value is null");
我正在尝试覆盖 ==
运算符,因此无法使用 Obj == null
。
【问题讨论】:
由于object.ReferenceEquals()
内部是 ==
检查 (ReferenceEquals),那么:What is the difference between "x is null" and "x == null"? 可能重复
【参考方案1】:
ReferenceEquals(obj, null)
和 (obj is null)
做同样的事情,但后者仅作为 C# 7.0 及更高版本语法的一部分提供。
【讨论】:
我不知道谁在投票,但 IIRC,这是完全正确的! github.com/dotnet/docs/issues/6856以上是关于Obj 是 null vs object.ReferenceEquals(Obj, null) [重复]的主要内容,如果未能解决你的问题,请参考以下文章
何时使用 [self.obj message] vs [obj message] [重复]
NX二次开发-UF_OBJ_cycle_by_name遍历名字
关于obj.currentStyle.propertywindow.getComputedStyle(obj,null).propertyobj.style.property的理解