0

由于我是 C# 的初学者,我们只在控制台中编写。作业要求我们不要使用goto我目前正在使用的“”。

控制台结束时会问你一个问题,如果“是”,它会将我返回到入口,如果“否”,它会转到下一个问题。

switch (pitanje)
{
    case ("da"):
        goto start;
    case ("ne"):
        Console.ForegroundColor = ConsoleColor.Magenta;
        goto end;
    default:
        break;
}

所以“开始”位于开头(第一个条目),“结束”位于控制台中最后一个问题的前面。

我如何做到这一点goto

4

4 回答 4

2
string pitanje = "";

while(pitanje != "ne")
{
    //start

    if(pitanje == "da")
        //logic

}
Console.ForegroundColor = ConsoleColor.Magenta;

ps 俄语命名变量不是最佳选择。

还可以考虑阅读 Edsger W. Dijkstra 的经典文章Go To Statement Considered Harmful。还阅读了他关于结构化编程的书。它对如何以这种方式构建程序非常重要,您可以分析并证明它的正确性。

于 2013-01-23T17:01:09.847 回答
0

您可以使用中断或继续。或者您可以使用变量作为标志。您也可以在其中使用循环和条件。这完全取决于您的程序

于 2013-01-23T17:00:46.683 回答
0

假设这switch是程序的最后一部分,请在程序while周围放置一个检查变量的循环。根据所采用的switch分支更新该变量。

于 2013-01-23T16:57:00.560 回答
0

您的代码可能形成了一种循环。在这种情况下,您可以像这样替换它:

while (pitanje != "ne") {
    // Read content of pitanje …

    switch (pitanje) {
        case "da":
            continue;
        case "ne":
            Console.ForegroundColor = ConsoleColor.Magenta;
            break;
    }
}

– 不需要default案例。continue跳回到循环的开头。在这种ne情况下,您只需更改颜色,然后在循环标题中,您的循环就会被取消。

于 2013-01-23T16:58:56.870 回答