相关疑难解决方法(0)

电话和Callvirt

CIL指令"Call"和"Callvirt"之间有什么区别?

.net reflection cil reflection.emit

57
推荐指数
5
解决办法
1万
查看次数

等于(item,null)或item == null

使用静态Object.Equals检查null的代码是否比使用==运算符或常规Object.Equals的代码更健壮?是不是后两种易受这样一种方式,检查空预期不工作正在被超越(如返回false时,比较值零)?

换句话说,是这样的:

if (Equals(item, null)) { /* Do Something */ }
Run Code Online (Sandbox Code Playgroud)

比这更强大:

if (item == null) { /* Do Something */ }
Run Code Online (Sandbox Code Playgroud)

我个人觉得后面的语法更容易阅读.编写处理作者控件之外的对象的代码(例如库)时应该避免吗?是否应始终避免(检查为空时)?这只是头发分裂吗?

c# null equals robustness

39
推荐指数
3
解决办法
4万
查看次数

标签 统计

.net ×1

c# ×1

cil ×1

equals ×1

null ×1

reflection ×1

reflection.emit ×1

robustness ×1