C# 在这种情况下,我应该使用什么类型的逻辑?

C# 在这种情况下,我应该使用什么类型的逻辑?,c#,C#,我目前正在编写一个控制台应用程序,我需要做的就是添加一个菜单。我理解基本的if语句。如何将用户转移到程序的不同部分?有点像这样: if (menuoption == 1) { // Transfer to menu option 1 } 在这种情况下,我需要使用什么类型的逻辑?对菜单使用开关 //User enters a value. var menu = Convert.ToInt32(Console.ReadKey()); switch(menu) { case 1:

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

if (menuoption == 1)
{
    // Transfer to menu option 1
}
在这种情况下,我需要使用什么类型的逻辑?

对菜单使用开关

//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;
}

您可以使用一个简单的状态机:

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

这里有一个小教程:

如何使用控制台?在控制台中键入内容,然后检查内容是否与特定功能相关,否则应用程序可能“选择错误,请再次键入”。如何做到这一点?

首先,用户需要至少编写一次选择,因此您需要一个
do-while
循环(是的,您可以使用
while(true)
for(;;)
,但如果您正在学习,则使用正确的循环是更好的选择)。好的,现在我们进入
do
,获取输入并将其传递到
开关中(检查Bewar Salah答案),然后创建您需要的所有
case
子句,记住对所有不需要管理的子句使用
default
。一旦完成
开关
时,您处于
状态。
时,您需要签入什么?您需要检查用户是否没有键入退出应用程序的值(因此条件如下:
如果用户没有输入退出继续运行应用程序,否则退出

这取决于代码的结构,通常调用方法是最佳选择。你能给我们提供更多的代码上下文吗?实现这一点最简单的方法是在类中创建一个新函数并调用它。如果您需要代码,我可以创建一个答案。Gunr,必须有三个选项,1个用于成本计算器,2个用于帮助选项,3个用于退出选项。当用户输入其中一个数字时,他们将进入代码的下一部分。谢谢!如何更改每个案例的设置?我有点困惑啊哈