加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

c# – 什么是空参考检查的好习惯?

发布时间:2020-12-15 06:53:36 所属栏目:百科 来源:网络整理
导读:参见英文答案 Best and fastest way to check if an object is null 6 检查对象上空引用的最有效的方法是什么?我看到各种代码样本有不同的检查方法,以下是最有效的或被认为是最佳实践的最佳实践? Object.ReferenceEquals(item,null)item == nullitem != nu
参见英文答案 > Best and fastest way to check if an object is null 6
检查对象上空引用的最有效的方法是什么?我看到各种代码样本有不同的检查方法,以下是最有效的或被认为是最佳实践的最佳实践?
Object.ReferenceEquals(item,null)

item == null

item != null

Object.Equals(item,null)

谢谢

解决方法

> Object.ReferenceEquals(item,null)比较引用,等于item == null.
> Object.Equals(item,null)比较引用类型的引用和值类型的按位,但在反射器中它等于(item == null)|| ((item!= null&& null!= null)&&item.Equals(null)).
> item!= null代码不总是等于!(item == null),但当然结果应该是相等的.
> item == null代码不等于null == item,它类似于typeof(item).Equals(object)和object.Equals(typeof(item))方法调用.

它不同,因为你可以覆盖!=,==,等于.
使用已知实现的方法,null == item更好的代码,但更难阅读.
Object.ReferenceEquals(null,item)可能会更快或更快.

附:也使用string.IsNullOrEmpty(item)

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读