条件运算符与(如果有则)否则
如果我想实现一些可以通过两种方式实现的条件代码。那么哪种方式更好的是条件运算符?:或if..then..else ??
回答:
这取决于。通常,您希望活动的主要流程在代码的结构中表示。如果算法的关键是变量x
已初始化,那么最好的解决方案是使用条件运算符:
x = condition ? f1() : f2();
如果决策是了解正在发生的事情的关键问题,那么您将首选if
。实际上,这意味着当两者都可行时,您将使用?:
。关键是“合理”
—如果您发现在子表达式中使用逗号运算符,则这些子表达式会有副作用,那么使用?:
可能不是“合理的”。
回答:
当您使用?:
运算符时,除了最简单的情况外,都应完全像设置格式一样if
,例如:
x = condition ? complex_expression_1
: complex_expression_2;
我经常这样做。(在一种特殊情况下,我会推送它:如果我可以将整个函数简化为单个return语句。我仍然不会允许逗号运算符的副作用,但是有时我会使用比其他方式更复杂的表达式将。)
以上是 条件运算符与(如果有则)否则 的全部内容, 来源链接: utcz.com/qa/416437.html