条件运算符与(如果有则)否则

如果我想实现一些可以通过两种方式实现的条件代码。那么哪种方式更好的是条件运算符?:或if..then..else ??

回答:

这取决于。通常,您希望活动的主要流程在代码的结构中表示。如果算法的关键是变量x已初始化,那么最好的解决方案是使用条件运算符:

x = condition ? f1() : f2();

如果决策是了解正在发生的事情的关键问题,那么您将首选if。实际上,这意味着当两者都可行时,您将使用?:。关键是“合理”

—如果您发现在子表达式中使用逗号运算符,则这些子表达式会有副作用,那么使用?:可能不是“合理的”。

回答:

当您使用?:运算符时,除了最简单的情况外,都应完全像设置格式一样if,例如:

x = condition

? complex_expression_1

: complex_expression_2;

我经常这样做。(在一种特殊情况下,我会推送它:如果我可以将整个函数简化为单个return语句。我仍然不会允许逗号运算符的副作用,但是有时我会使用比其他方式更复杂的表达式将。)

以上是 条件运算符与(如果有则)否则 的全部内容, 来源链接: utcz.com/qa/416437.html

回到顶部