当前位置:  开发笔记 > 编程语言 > 正文

我应该检查一个对象是第一个还是第二个?

如何解决《我应该检查一个对象是第一个还是第二个?》经验,为你挑选了1个好方法。

比如说我创造了一只鸭子

Duck myDuck = DuckFactory.CreateDuck();

在过去,我总是检查myDuck是否为空

if (myDuck == null)
{
  // Do stuff
}

我最近查看了一些首先检查null的代码.

if (null == myDuck)
{
   // Do stuff
}

在我看来,这些是相同的,但这两者之间有什么不同吗?一个人对另一个人有任何表现上的好处吗?是否有建议的最佳做法来检查对象是否为空?



1> cletus..:

第二个源于C/C++(和其他地方),这是一个有效的结构

if (myDuck = null) {
}

这在C#中无效(除非你的表达式解析为布尔值).例如,这是有效的C#

bool b = ...
if (b = true) {
}

当你想要比较时,将常数放在第一位是防御性的,以阻止意外分配.我会说更多的人把变量放在左边,但是将常量放到左边也没有错.

只需选择一个并保持一致.

推荐阅读
家具销售_903
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有