由于我是C#的初学者,我们只能在Console中编写。作业要求我们不要使用“goto
”这是我目前使用的。
你在控制台结束时被问到一个问题,如果“是”,它会让我回到入口处,如果“否”则转到下一个问题。
switch (pitanje)
{
case ("da"):
goto start;
case ("ne"):
Console.ForegroundColor = ConsoleColor.Magenta;
goto end;
default:
break;
}
所以“开始”在开头(第一个条目),“结束”在控制台的最后一个问题前面。
如何在没有goto
答案 0 :(得分:2)
string pitanje = "";
while(pitanje != "ne")
{
//start
if(pitanje == "da")
//logic
}
Console.ForegroundColor = ConsoleColor.Magenta;
P.S。俄语命名变量不是最佳选择。
另请考虑阅读Edsger W. Dijkstra撰写的经典文章Go To Statement Considered Harmful。另请阅读他关于Structured Programming的书。它对如何以这种方式构建程序提出了一个很好的观点,即您可以分析并证明它的正确性。
答案 1 :(得分:0)
假设switch
是程序的最后一部分,请设置一个while
循环来检查程序周围的变量。根据{{1}}分支的内容更新该变量。
答案 2 :(得分:0)
您的代码可能形成一种循环。在这种情况下,您可以像这样替换它:
while (pitanje != "ne") {
// Read content of pitanje …
switch (pitanje) {
case "da":
continue;
case "ne":
Console.ForegroundColor = ConsoleColor.Magenta;
break;
}
}
- 无需default
案例。 continue
跳回到循环的开头。在ne
情况下,您只需更改颜色,然后在循环标题中取消循环。
答案 3 :(得分:0)
您可以使用break或continue。或者您可以使用变量作为标志。你也可以使用循环和条件。这完全取决于你的程序