在c#中,您说明条件的顺序的执行速度是否有任何差异?
if (null != variable) ...
if (variable != null) ...
Run Code Online (Sandbox Code Playgroud)
从最近开始,我经常看到第一个,因为我习惯了第二个,所以引起了我的注意.
如果没有差异,第一个的优势是什么?
我见过高级开发人员使用标题中提到的语法.
是否需要在.NET中指定常量?(与C/C++世界相反)
我想检查一个值是否等于1.以下代码行是否有任何区别
评估值== 1
1 ==评估价值
在编译器执行方面
杜佩:空无与伦比
一生以前我遇到过一篇文章,解释说以下内容并不相同(在c#中):
if (o == null) {}
if (null == o) {}
Run Code Online (Sandbox Code Playgroud)
文章解释说后者是首选,因为它导致更准确的测试.从那时起我一直在编码.现在我了解了很多,我正在寻找这篇文章,或者其他类似文章,看看确切的结果是什么,但我找不到关于这个主题的任何内容.
思考?有区别吗?乍一看会说不.但谁知道IL和C#编译的内容会发生什么.
我们大多数人写的条件如下:
if (resultIndex == 0)
Run Code Online (Sandbox Code Playgroud)
...但偶尔我会遇到一些人写作:
if (0 == resultIndex)
Run Code Online (Sandbox Code Playgroud)
......有趣的是,这些人一直是作家,而且看起来非常热门的编码员.
那么为什么有些人选择'倒退'风格呢?背后有一些历史吗?Readabililty?
我已经为iPhone SDK编程了大约6个月,但我对一些事情感到有些困惑......其中一个我在这里问:
为什么以下方面有所不同?
if (varOrObject == nil)
{
}
Run Code Online (Sandbox Code Playgroud)
VS
if (nil == varOrObject)
{
}
Run Code Online (Sandbox Code Playgroud)
来自perl背景,这让我感到困惑......
有人可以解释为什么两个(第二个)中的一个是真的,而如果两个例程在代码中一个接一个地放置,则第一个不会. varOrObject这两个if陈述之间不会发生变化.
没有特定的代码发生在这里,只是我已经在很多地方读过两个语句不同,但不是为什么.
提前致谢.
推荐哪一个用于检查Object null-ness?
null != Object
Run Code Online (Sandbox Code Playgroud)
要么
Object != null
Run Code Online (Sandbox Code Playgroud)
和其他方式
null == Object
Run Code Online (Sandbox Code Playgroud)
要么
Object == null
Run Code Online (Sandbox Code Playgroud)
......他们之间有什么区别吗?