相关疑难解决方法(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
查看次数

三元运算符与if语句的漂亮

我正在浏览一些代码,我发现了一些三元运算符.这段代码是我们使用的库,它应该非常快.

我在想,除了那里的空间,我们还要保存任何东西.

你有什么经历?

c++ if-statement ternary-operator

25
推荐指数
4
解决办法
3万
查看次数

简写 if then else 在 php 中的性能/优化

说到PHP,我想问一下这两者在性能上有没有区别:

$name=($IsBoy)?"George":"Mary";
Run Code Online (Sandbox Code Playgroud)

对比

if($IsBoy)
{
    $name="George";
}
else
{
    $name="Mary";
}
Run Code Online (Sandbox Code Playgroud)
  • 这两个会导致不同的操作码吗?

  • 如果是,性能上会有什么理论上的差异吗?(当然忽略这两个需要读/编译/解释的时间)

  • 如果是,那么像 zend 优化器这样的优化器是否会利用这一点并自动进行任何重新安排?

ps 如果您认为我的“全长手” if-then-else 代码太复杂,请提供一个最基本的代码示例并对此进行回答。

更新:

我希望这个问题非常清楚,但似乎人们没有得到这个信息。这个问题是关于性能上的理论(......但真实和可测量的)差异(这就是我在理论中应用粗体斜体的原因)。请不要回答说哪种编程风格更具可读性,而且这太吹毛求疵而不必担心性能。

ps 2:通过强调“理论”这个词,我试图避免“别担心它不值得麻烦,它只是几纳秒”类型的答案。

php shorthand-if zend-optimizer php-opcode

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

什么更快:if语句或条件运算符?(C#)

简单的问题(我认为):这些代码中的哪些代码在C#中执行得更快?

newSpeed = newSpeed > maxSpeed ? maxSpeed : newSpeed;
Run Code Online (Sandbox Code Playgroud)

要么

if (newSpeed > maxSpeed)
{
    newSpeed = maxSpeed;
}
Run Code Online (Sandbox Code Playgroud)

c# if-statement conditional-operator

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