作者prott (mcik)
看板C_Sharp
标题[问题] if else 行数缩减
时间Thu Nov 10 18:45:07 2016
最近在练习一些逻辑基本题
但是没有正确答案
想请问一下,下面如何缩减行数
int count = 0;
for (int i = 0; i < 10; i++)
{
if (a <= 5 && b <= 5 && a > i)
count += i;
else if (a <= 5 && b > 5 && a > i)
count += i;
else if (a > 5 && b <= 5 && a > i)
count += i;
else if (a > 5 && b > 5 && a > i)
count += i;
}
我想的到的方法是用三元运算子来简化,但感觉很不实用,不知道还有其他方法吗?
count += a <= 5 && b <= 5 && a > i ? i :
(a <= 5 && b > 5 && a > i ? i :
(a > 5 && b <= 5 && a > i ? 3 :
(a > 5 && b > 5 && a > i ? i : 0)));
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 58.114.193.20
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/C_Sharp/M.1478774710.A.8E3.html
1F:→ shuangrain: 可读性降低很多,建议还是以可阅读为主 11/10 19:24
2F:→ ssccg: 你原程式跟简化的不一样? a > 5 && b <= 5 && a > i这条 11/10 19:44
3F:→ ssccg: 只以这个例子来说,四个条件加起来不就是所有情况了? 11/10 19:45
4F:→ ssccg: 只剩 a > i 11/10 19:45
5F:→ ssccg: for(int i = 0; i < 10 && i < a; i++) { count += i; } 11/10 19:52
6F:→ jizang: 推,人看得懂最重要~ 11/10 23:25
7F:推 mepowerlmay: 设计模式 链结者模式 11/14 01:29
8F:推 YahooTaiwan: 若你只是想 "省行数",那完全没必要 11/14 02:56
9F:推 largesperm: 不要说别人看不看得懂好了 你缩很短 11/15 14:32
10F:→ largesperm: 下星期连你都看不懂了 11/15 14:32
11F:推 jasonkey123: 重点是省了行数,跑起来也没比较快... 12/03 10:12