C# 在这种情况下,我应该使用什么类型的逻辑?
我目前正在编写一个控制台应用程序,我需要做的就是添加一个菜单。我理解基本的if语句。如何将用户转移到程序的不同部分?有点像这样: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 (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个用于退出选项。当用户输入其中一个数字时,他们将进入代码的下一部分。谢谢!如何更改每个案例的设置?我有点困惑啊哈