Ari*_*eem 4 c# java compiler-construction null
我刚刚发现我可以比较null有Object这样的,
if(null != Object)
而不是比较Object有null一样
Object != null
Run Code Online (Sandbox Code Playgroud)
如果使用前一种方法可能会出错?
这合法吗?如果没有那么为什么编译器会接受它?
Sum*_*ngh 14
两者都是等价的,但这null != object是一种古老的做法,它可以有效地编写if (object = null)并且意外地将null赋给对象.这是一个阻止这次事故发生的警卫.
大多数人说,Object != null因为这是他们习惯的,因此更容易阅读.
我听过的最好的论据null != object是避免表达不好.例如,收拾错字if (var == 1)
if (var = 1) // this is valid C
if (1 = var) // this is not valid C
Run Code Online (Sandbox Code Playgroud)
有一件事是错的 - 可读性.如果你想编写一个干净的代码,你应该关心它将来的阅读方式.它需要是显而易见的,它做什么以及为什么它做某件事.如果将"对象"放在评估的右侧,那么你真正在做什么就变得不那么明显了.至少在我看来......
| 归档时间: |
|
| 查看次数: |
428 次 |
| 最近记录: |