if的嵌套和多个并列if的效率问题

myfastlife 2015-10-10 02:56:33
这个是嵌套的if

try
{
if ( 条件1 )
{
if ( 条件2 )
{
语句。。。
}
else
{
throw new Exception( "error" );
}
}
else
{
throw new Exception( "error" );
}
}
catch ( Exception ex)
{
return ex.Message;
}


下面这个是多个并列if

try
{
if (! 条件1 )
{
throw new Exception( "error" );
}
if ( 条件2 )
{
语句。。。
}
else
{
throw new Exception( "error" );
}
}
catch ( Exception ex )
{
return ex.Message;
}


我想问下这两种方式下,那个更好一些
...全文
3290 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
vmpok201711 2019-07-01
  • 打赏
  • 举报
回复
多级if嵌套对已分配的线程栈太深,不建议使用多级嵌套,平行要好一些
handujun1 2017-02-16
  • 打赏
  • 举报
回复
当然是代码一效率高啦,这个相当于条件一不满足时,省掉了条件2的判断和对应语句执行啊!
myfastlife 2015-10-10
  • 打赏
  • 举报
回复
引用 5 楼 tcmakebest 的回复:
楼主太精明了,就这么简单的代码还考虑效率问题,应该是没区别的.
好吧,差不多,平时也就几个条件,结贴了
tcmakebest 2015-10-10
  • 打赏
  • 举报
回复
楼主太精明了,就这么简单的代码还考虑效率问题,应该是没区别的.
myfastlife 2015-10-10
  • 打赏
  • 举报
回复
引用 1 楼 bdmh 的回复:
对于你这个,是一样的,走的流程没区别
如果有多个条件,有的条件有需要处理else,有的不需要处理else,这样的情况下哪种好呢?
  • 打赏
  • 举报
回复
其实是一样,条件比较少的时候都可以。当条件比较多且相互组合时,用第二种代码结构更清晰,代码块不会被撑得太大,因此会更易于阅读和维护
江南小鱼 2015-10-10
  • 打赏
  • 举报
回复
貌似等价于
if(条件1 && 条件2)
{}
else
{}
bdmh 2015-10-10
  • 打赏
  • 举报
回复
对于你这个,是一样的,走的流程没区别

110,533

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧