在这种情况下,我使用什么类型的逻辑
本文关键字:类型 什么 这种情况下 | 更新日期: 2023-09-27 18:33:23
我目前正在编写控制台应用程序,我需要做的就是添加一个菜单。我理解基本的 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;
}
控制台 menù 它是如何工作的?在控制台中,您键入某些内容,然后检查某些内容是否与特定功能相关,如果不是,应用程序可以"选择错误,请再次键入"。如何做到这一点?
首先,用户需要编写的是至少一次选择,因此您需要一个do while
周期(是的,您可以使用while(true)
或for(;;)
但如果您正在学习,则使用正确的周期是更好的选择)。好的,现在我们在do
,获取输入并将其传递到switch
(检查Bewar Salah答案),然后创建所需的所有case
子句,请记住使用default
用于您不需要管理的所有子句。一旦完成,您处于while
switch
状态。您需要办理什么while
?您需要检查用户是否尚未键入退出应用程序的值(因此条件为:if user has not input exit continue run the application, else exit
你可以用一个简单的状态机来做到这一点:
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;}
}
这是一个小教程:带 C 回调的状态机 |代码与生活