在c#中,您说明条件的顺序的执行速度是否有任何差异?
if (null != variable) ...
if (variable != null) ...
Run Code Online (Sandbox Code Playgroud)
从最近开始,我经常看到第一个,因为我习惯了第二个,所以引起了我的注意.
如果没有差异,第一个的优势是什么?
好的,我们知道以下两行是等价的 -
(0 == i)(i == 0)此外,过去鼓励使用第一种方法,因为如果您不小心使用'='而不是'==',那么编译器就会给出错误消息.
我的问题是 - 在今天的一代漂亮的IDE和智能编译器中,你还推荐第一种方法吗?
特别是,当我看到以下代码时,这个问题突然出现在我脑海中 -
if(DialogResult.OK == MessageBox.Show("Message")) ...
Run Code Online (Sandbox Code Playgroud)
在我看来,我绝不会推荐上述内容.任何第二意见?
可能重复:
为什么一些有经验的程序员会在变量之前写入比较值?
我只是对此感到好奇:在我研究过的大多数框架/开源项目中,我经常看到这样的代码......
<?php
if (null === self::$_instance) {
self::$_instance = new self();
}
Run Code Online (Sandbox Code Playgroud)
特别是这条线......
if (null === self::$_instance) {
Run Code Online (Sandbox Code Playgroud)
为什么null在if声明的第一个参数中使用而不是相反?...
if (self::$_instance === null) {
Run Code Online (Sandbox Code Playgroud)
我意识到可能没有性能提升或类似的东西.这只是一种偏好还是我忽略了某种编码标准?
我想检查一个值是否等于1.以下代码行是否有任何区别
评估值== 1
1 ==评估价值
在编译器执行方面
比如说我创造了一只鸭子
Duck myDuck = DuckFactory.CreateDuck();
Run Code Online (Sandbox Code Playgroud)
在过去,我总是检查myDuck是否为空
if (myDuck == null)
{
// Do stuff
}
Run Code Online (Sandbox Code Playgroud)
我最近查看了一些首先检查null的代码.
if (null == myDuck)
{
// Do stuff
}
Run Code Online (Sandbox Code Playgroud)
在我看来,这些是相同的,但这两者之间有什么不同吗?一个人对另一个人有任何表现上的好处吗?是否有建议的最佳做法来检查对象是否为空?
C++有什么区别(x == "x")和("x" == x)比较?让我们说x是一个std::string.有什么理由为什么人会优先于另一个?
阅读Symfony2代码时,我多次遇到这个比较
if (null === $variable ) { ... }
Run Code Online (Sandbox Code Playgroud)
我用
if ($variable === null ){ ... }
因为我觉得它更具可读性.
使用第一种符号背后有智慧吗?
可能重复:
如何检查等于?(0 == i)或(i == 0)
为什么人们经常在C#中看到"null!= variable"而不是"variable!= null"?
为什么一些有经验的程序员会这样写表达式?
在C++中NULL!= value是什么意思?
例如,
int k =5;
if( 5 == k )
{
}
Run Code Online (Sandbox Code Playgroud)
比...更受欢迎
if (k == 5)
{
}
Run Code Online (Sandbox Code Playgroud)
是仅考虑格式化目的还是有任何原因?