使用条件?:(三元)运算符的好处与标准的if-etc语句相比,?:操作符的优缺点是什么?显而易见的是:有条件的?:运算符在处理直接值比较和赋值时更短、更简洁似乎不像if/Else构造那样灵活。标准IF/Else可以应用于更多情况(例如函数调用)。往往是不必要的长根据语句的不同,每个语句的可读性似乎各不相同。在第一次接触到?:操作符之后,我花了一段时间来理解它是如何工作的。考虑到我与许多非程序员一起工作,您会建议在可能的情况下使用它吗?还是坚持使用if/Else?
3 回答
LEATH
TA贡献1936条经验 获得超6个赞
int result = Check() ? 1 : 0;
int result = FirstCheck() ? 1 : SecondCheck() ? 1 : ThirdCheck() ? 1 : 0;
万千封印
TA贡献1891条经验 获得超3个赞
readonly int speed = (shiftKeyDown) ? 10 : 1;
readonly int speed; if (shifKeyDown) speed = 10; // error - can't assign to a readonlyelse speed = 1; // error
MoveCar((shiftKeyDown) ? 10 : 1);
if (shiftKeyDown) MoveCar(10);else MoveCar(1);
object thing = (reference == null) ? null : reference.Thing;
?:
墨色风雨
TA贡献1853条经验 获得超6个赞
if (a > 0) answer = compute(a, b, c, d, e);else answer = compute(-a, b, c, d, e);
answer = compute(a > 0 ? a : -a, b, c, d, e);
- 3 回答
- 0 关注
- 867 浏览
添加回答
举报
0/150
提交
取消