当前位置 : 主页 > 网络安全 > 测试自动化 >

切换语句性能C#

来源:互联网 收集:自由互联 发布时间:2021-06-22
我们使用switch语句根据一系列条件对对象进行一些处理,我们期望在所有情况下调用默认情况. 我们对解决这个问题的最佳方式存在分歧. 我们中的一些人更喜欢例A: switch (task){ case A:
我们使用switch语句根据一系列条件对对象进行一些处理,我们期望在所有情况下调用默认情况.

我们对解决这个问题的最佳方式存在分歧.

我们中的一些人更喜欢例A:

switch (task)
{
    case A:
        ProcessA();
        goto default;
    case B:
        ProcessB();
        goto default;
    case C:
        ProcessC();
        goto default;
    default:
        Final();
}

而其他人则建议使用类似B的例子:

switch (task)
{
    case A:
        ProcessA();
        break;
    case B:
        ProcessB();
        break;
    case C:
        ProcessC();
        break;
}

Final();

因为无论如何都会在所有情况下调用Final().

这是个人偏好的情况,还是存在客观的性能差异.

我们应该注意哪些指导方针或问题?

这是用C#编写的API,并且会经常调用.我们渴望做对!

干杯!

我会说坚持做例B.

手动插入代码到“跳转”是没有意义的.特别是当你在所有情况下跳到同一个地方时.这就是代码块的用途.示例B读取得更好,并且更容易遵循.

至于性能,我不确定哪个更快(测量它?).但在这一点上,它看起来像一个你不应该关心的微优化.在这个例子中,我会说可读性和可维护性胜过你可能获得的任何微小的性能提升.

网友评论