在这种情况下我会使用什么类型的逻辑?

时间:2016-02-05 21:06:06

标签: c#

我目前正在编写控制台应用程序,我需要做的就是添加一个菜单。我理解基本的if语句。如何将用户转移到程序的不同部分?有点像这样:

if (menuoption == 1)
{
    // Transfer to menu option 1
}

在这种情况下我需要使用什么类型的逻辑?

3 个答案:

答案 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;}
}

这是一个小教程:State Machines with C Callbacks | Code and Life

答案 2 :(得分:0)

它是如何工作的控制台menù?在控制台中键入内容,然后检查某些内容是否与特定功能相关,如果不是,则应用程序可以“错误选择,再次键入”。怎么做到这一点?
首先,用户需要编写的是至少一次选择,因此您需要do while周期(是的,您可以使用while(true)for(;;)但是如果您正在学习它是更好的选择使用正确的循环)。好的,现在我们在do,获取输入并将其传递到switch(检查Bewar Salah答案),然后创建所需的所有case子句,请记住使用{{ 1}}表示您不需要管理的所有子句。一旦完成default条件,您就在switch。您需要在while查看什么?您需要检查用户是否未键入退出应用程序的值(因此条件如下:while