首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

判断案句哪种效率更高

2013-04-21 
判断语句哪种效率更高?if (A.Contains(a1) && A.Contains(a2)){//}与if (A.Contains(a1)){if (A.Contains(

判断语句哪种效率更高?
if (A.Contains(a1) && A.Contains(a2))
{
    //
}



if (A.Contains(a1))
{
    if (A.Contains(a2))
    {
       ////
    }
}

个人感觉第二种写法,效率高些,是这样吗?
[解决办法]

引用 MSDN:
...条件“与”运算符 (&&) 执行其 bool 操作数的逻辑“与”运算,但仅在必要时才计算第二个操作数。

这是微软的参考说明(http://msdn.microsoft.com/zh-cn/library/2a723cdk(v=vs.100).aspx)。

不用担心使用第一种方法。实际上,我们经常这样写:
if (job != null && job.IsReady)
{
   //...
}
当job是null的时候,第二部分就不回执行(不然会有NullReferenceException)。
[解决办法]
推荐第一种写法。
[解决办法]
两种都一样,第一种简洁些
&& 当有条件不符合时都会跳出
[解决办法]
两种写法没区别,都会先执行第一个,第一个false后都不继续执行
[解决办法]
一模一样,微软也是阻断设计的,第一个条件不成立就不会运行第二个条件
[解决办法]
看你习惯用哪种,都差不多的。

热点排行