C# 什么东西代替了goto?

C# 什么东西代替了goto?,c#,C#,由于我是C#的初学者,我们只在控制台中编写。作业要求我们不要使用我目前正在使用的“goto” 在控制台的末尾有人问你一个问题,如果“是”,它会让我回到入口,如果“否”,它会转到下一个问题 switch (pitanje) { case ("da"): goto start; case ("ne"): Console.ForegroundColor = ConsoleColor.Magenta; goto end; defau

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

在控制台的末尾有人问你一个问题,如果“是”,它会让我回到入口,如果“否”,它会转到下一个问题

switch (pitanje)
{
    case ("da"):
        goto start;
    case ("ne"):
        Console.ForegroundColor = ConsoleColor.Magenta;
        goto end;
    default:
        break;
}
所以“开始”在开头(第一个条目),“结束”在控制台的最后一个问题前面


如果此
开关
是程序的最后一部分,则在
while
循环中检查程序周围的变量,如何在不转到
的情况下完成此操作。根据
开关所采用的分支更新该变量。

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

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

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

–无需使用默认的
案例<代码>继续
跳回循环的开头。在
ne
情况下,您只需更改颜色,然后在循环标题中取消循环。

您可以使用break或continue。或者可以使用变量作为标志。还可以在中使用循环和条件。这完全取决于你的计划

string pitanje = "";

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

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

}
Console.ForegroundColor = ConsoleColor.Magenta;
p、 美国俄语命名变量不是最佳选择


也可以考虑阅读Edsger W. Dijkstra的一篇经典文章。我也读了他的书。它对如何以这样的方式构造您的程序非常重要,您可以分析并证明它的正确性

考虑研究(谷歌搜索)控制流工具,如
while
循环、
for
循环等。他们可能会给你你需要的答案。@ThatBlairGuy:这似乎是“我如何在不使用goto的情况下复制以下内容”不要使用
goto
Yuk.。这是一个调试噩梦使用
break或continue
问题在于,如果有替代使用goto的方法,那么“goto”听起来不像俄语。可能是塞尔维亚语(),意思可能是“Пааааа”。塞尔维亚语因为“ne”更合理,但我们仍然用“аа”作为否定。无论如何,在源代码管理中,除了英语以外的任何语言都是有问题的。无论是“Пщаааааа”还是“Пцааааааа。至于可接受的语言,至少作者使用的是拉丁字母。:)是的,证据表明你是正确的。如果变量名是疑问或营养(来自俄语),并且他的名字可能不是俄语,那么对我来说没有任何意义。顺便说一下,在我的一个项目中,我在源代码中看到了西里尔语的注释,这至少令人不安。