c# - 什么是更好的做法 : duplicate code or use goto statement?

标签 c# goto

<分区>

我现在正在学习C#,遇到了以下情况,有什么更好的做法,复制代码如“EX 1”或使用goto语句如“EX 2”? 我不想要个人意见。

        // EX 1: 

        switch (a)
        {
            case 3:
                b = 7;
                c = 3; // duplicate code <-|
                break; //                    |
            case 4:    //                    |
                c = 3; // duplicate code --|
                break;
            default:
                b = 2;
                c = 4;
                break;
        }


        // EX 2: 

        switch (a)
        {
            case 3:
                b = 7;
                goto case 4; // not duplicate code and use goto statement
            case 4:
                c = 3;
                break;
            default:
                b = 2;
                c = 4;
                break;
        }

最佳答案

这真的取决于。

情况 3 是情况 4 的特例吗?

在那种情况下,goto 可能是有序的,因为如果我们在稍后的某个时间点向案例 4 添加一些新行为,那么我们也会为案例 3 自动获得该行为。

如果情况 3 和 4 不相关,那么复制代码会更好。

如果您的真实案例这么小,只有那么几行,我宁愿复制代码,因为简单性和可读性。

关于c# - 什么是更好的做法 : duplicate code or use goto statement?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22689392/

相关文章:

c - 在 C 中的 block 范围内的变量声明之后使用 goto

linux - bash中有 "goto"语句吗?

c# - linq to sql "into"条件选择

c# - .NET 中的多个监视器

c# - 这是使用 goto 的安全方法吗?

c++ - Goto 语句中的堆栈跟踪

c# - .NET 中的异步排序(使用任务)

c# - 如何在 Web 浏览器(例如 IE)中打开 URL 并传递凭据

c# - ASP.NET - 页面重新加载后 GridView 为空

sql - 在什么情况下可以使用 T-SQL GOTO 语句?