if else语句太多,有什么好的方法解决?

jackeyabc 2011-01-21 10:18:09
一个代码块里面的if判断语句太多了,我也想到用一些设计方法去掉,但是也不是最优化的

大家有没有好的方式解决类似问题?
...全文
1789 30 打赏 收藏 转发到动态 举报
写回复
用AI写文章
30 条回复
切换为时间正序
请发表友善的回复…
发表回复
清溪蓝郁 2011-01-21
  • 打赏
  • 举报
回复
用&& ,|| 这样的形式把多条分支组合起来,
switch case 也是个很不错的方法
jackeyabc 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 14 楼 wuyq11 的回复:]
优化设计逻辑
if else 扩展
[/Quote]

这个是重点
jackeyabc 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 sp1234 的回复:]
如果你觉得麻烦,忘掉代码本身,而回顾你的分析和设计时所用的逻辑,可能能够轻松地重构。

如果纠结编程语句,反而乱了。
[/Quote]
谢谢
fengylm 2011-01-21
  • 打赏
  • 举报
回复
再看看你的判断逻辑呗,是否每一步的if都是必须的
Mandys 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 sp1234 的回复:]
如果你觉得麻烦,忘掉代码本身,而回顾你的分析和设计时所用的逻辑,可能能够轻松地重构。

如果纠结编程语句,反而乱了。
[/Quote]
逻辑的重要性。。
xiaolin10075 2011-01-21
  • 打赏
  • 举报
回复
首先还是要进行逻辑上的优化了,最优了在考虑Switch,不行就只好用if了
  • 打赏
  • 举报
回复
重新整理下思路和逻辑
skyctr 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 13 楼 sp1234 的回复:]
如果你觉得麻烦,忘掉代码本身,而回顾你的分析和设计时所用的逻辑,可能能够轻松地重构。

如果纠结编程语句,反而乱了。
[/Quote]

学习了
wuyq11 2011-01-21
  • 打赏
  • 举报
回复
优化设计逻辑
if else 扩展
  • 打赏
  • 举报
回复
如果你觉得麻烦,忘掉代码本身,而回顾你的分析和设计时所用的逻辑,可能能够轻松地重构。

如果纠结编程语句,反而乱了。
hztltgg 2011-01-21
  • 打赏
  • 举报
回复
如果条件判断后处理的都是类似的功能,比如等于1,给a变量赋一个值,否则赋另外一个值子类,那你考虑是不是可以通过多态来拆分你的类,如果是算法本身就复杂,那就没办法了
wylp_19 2011-01-21
  • 打赏
  • 举报
回复
switch
case
天下在我心 2011-01-21
  • 打赏
  • 举报
回复
他的if应该是嵌套的,不一定适用switch.
如果 可以,嵌套的if里面写成方法调用,一般我是这么做的,至少逻辑上看起来清晰很多。
jackeyabc 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 crossgate_j 的回复:]
switch只判断到找到答案为止,一旦找到结果就停止了
而如果使用并列的if的话,可以进行多次判断直到运行完所有的判断

switch里面,必须是单个变量,而不能是表达式

准确来说,if的应用比switch广泛,可以用switch的,都可以用if,但反之,不行
[/Quote]
Crossgate_J 2011-01-21
  • 打赏
  • 举报
回复
switch只判断到找到答案为止,一旦找到结果就停止了
而如果使用并列的if的话,可以进行多次判断直到运行完所有的判断

switch里面,必须是单个变量,而不能是表达式

准确来说,if的应用比switch广泛,可以用switch的,都可以用if,但反之,不行
ycproc 2011-01-21
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 flyerwing 的回复:]

switch()
{
case 1:
{
break;
}
case 2:
................
default:
............
}
其实都一样.
[/Quote]

半斤八两
flyerwing 2011-01-21
  • 打赏
  • 举报
回复
switch()
{
case 1:
{
break;
}
case 2:
................
default:
............
}
其实都一样.
wdywqc 2011-01-21
  • 打赏
  • 举报
回复
switch
Crossgate_J 2011-01-21
  • 打赏
  • 举报
回复
switch
case
_三皮_ 2011-01-21
  • 打赏
  • 举报
回复
看能否用SWITCH代替,结构会清晰些
加载更多回复(9)

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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