我目前正在编写控制台应用程序,我需要做的就是添加一个菜单。我理解基本的if语句。如何将用户转移到程序的不同部分?有点像这样:
if (menuoption == 1)
{
// Transfer to menu option 1
}
在这种情况下我需要使用什么类型的逻辑?
答案 0 :(得分:4)
使用菜单开关
//User enters a value.
var menu = Convert.ToInt32(Console.ReadKey());
switch(menu)
{
case 1:
//go to menu 1
break;
case 2:
//go to menu 2
break;
}
答案 1 :(得分:0)
你可以用一个简单的状态机来完成它:
public enum States {State1, State2}
public States State = States.State1;
//Main:
while(true)
{
switch(state)
{
case States.State1:
//Your code for State1
break;
case States.State2:
//Your code for State2
break;
default:
break;
}
//Your Transitions:
if (Input == "State1") {State = States.State1;}
else {State = States.State2;}
}
答案 2 :(得分:0)
它是如何工作的控制台menù?在控制台中键入内容,然后检查某些内容是否与特定功能相关,如果不是,则应用程序可以“错误选择,再次键入”。怎么做到这一点?
首先,用户需要编写的是至少一次选择,因此您需要do while
周期(是的,您可以使用while(true)
或for(;;)
但是如果您正在学习它是更好的选择使用正确的循环)。好的,现在我们在do
,获取输入并将其传递到switch
(检查Bewar Salah答案),然后创建所需的所有case
子句,请记住使用{{ 1}}表示您不需要管理的所有子句。一旦完成default
条件,您就在switch
。您需要在while
查看什么?您需要检查用户是否未键入退出应用程序的值(因此条件如下:while
)