相关疑难解决方法(0)

使用条件?:(三元)运算符的好处

与标准的if-else语句相比,?:运算符有什么好处和缺点.显而易见的是:

有条件的?:运营商

  • 在处理直接价值比较和分配时更简洁,更简洁
  • 似乎不像if/else构造那样灵活

标准If/Else

  • 可以应用于更多情况(例如函数调用)
  • 通常是不必要的长

根据声明,可读性似乎各不相同.在第一次接触到?:运算符后的一段时间内,我花了一些时间来精确地消化它是如何工作的.您是否会建议尽可能使用它,或者坚持if/else,因为我与许多非程序员一起工作?

c# conditional-operator

101
推荐指数
10
解决办法
16万
查看次数

条件运算符是否缓慢?

我正在查看一些带有巨大的switch语句和每个case的if-else语句的代码,并立即感受到优化的冲动.作为一个优秀的开发人员,我总是应该着手获得一些硬性时序事实,并从三个变体开始:

  1. 原始代码如下所示:

    public static bool SwitchIfElse(Key inKey, out char key, bool shift)
    {
        switch (inKey)
        {
           case Key.A: if (shift) { key = 'A'; } else { key = 'a'; } return true;
           case Key.B: if (shift) { key = 'B'; } else { key = 'b'; } return true;
           case Key.C: if (shift) { key = 'C'; } else { key = 'c'; } return true;
           ...
           case Key.Y: if (shift) { key = 'Y'; } else { key …
    Run Code Online (Sandbox Code Playgroud)

c# performance if-statement conditional-operator micro-optimization

25
推荐指数
2
解决办法
5615
查看次数

三元(条件)运算符和样式

如果您首先讨厌三元条件运算符,则无需回复;)

我经常看到这与分配表达式一起使用,如:

var foo = (some_condition) ? then_code : else_code;
Run Code Online (Sandbox Code Playgroud)

但是,我想用它来代替简单的代码,例如:

if(some_condition) {
  do_something_simple;
} else {
  do_something_else;
}
Run Code Online (Sandbox Code Playgroud)

而是做:

(some_condition) ? do_something_simple : do_something_else;
Run Code Online (Sandbox Code Playgroud)

我可能会在JavaScript中这样做.在上面它返回undefined,因此它不需要赋值.我喜欢节省的空间但是想知道人们对这种用途的看法,同样,我通常只看到三元用于作业.

编辑:我看到答案暗指"隐藏意图".虽然在表达式中经常使用,但是如何在表达式中隐藏意图呢?特别是在动态语言中,人们可能会看到遍布各地的三元运算符?

javascript coding-style ternary-operator

5
推荐指数
1
解决办法
5078
查看次数

在.NET中哪一个最好用"条件运算符(?:)"或"if ... else"?

有很多陈述我们可以使用条件运算符或if..中的任何一个else.

那么在那些陈述中,哪一个从绩效的角度来看是最好的呢?

.net c#

1
推荐指数
1
解决办法
668
查看次数