C# c中的控制台应用程序菜单问题#
我对C#(嗯,一般来说,编程)很陌生 我正在尝试为c#控制台应用程序创建菜单。从菜单中进行选择后,菜单将继续显示。。。我已经研究并尝试了许多不同的选择,但似乎没有什么对我有用。。。。我知道我做错事是愚蠢的。 如有任何建议或指导,将不胜感激。提前谢谢C# c中的控制台应用程序菜单问题#,c#,C#,我对C#(嗯,一般来说,编程)很陌生 我正在尝试为c#控制台应用程序创建菜单。从菜单中进行选择后,菜单将继续显示。。。我已经研究并尝试了许多不同的选择,但似乎没有什么对我有用。。。。我知道我做错事是愚蠢的。 如有任何建议或指导,将不胜感激。提前谢谢 static void Main() //Start of program { //Menu and other UI stuff int userSelection = 0; do { C
static void Main() //Start of program
{
//Menu and other UI stuff
int userSelection = 0;
do
{
Console.WriteLine("[1] Encryption");
Console.WriteLine("[2] Decryption");
Console.WriteLine("[3] Exit");
Console.Write ("Please choose an option 1-3: ");
userSelection = Int32.Parse(Console.ReadLine());
switch(userSelection)
{
case 1:
readFile();
break;
case 2:
decryption();
break;
case 3:
Environment.Exit(0);
break;
default:
Console.WriteLine("Your selection is invalid. Please try again.");
break;
}
}
while (userSelection != 4);
}
只有当用户选择值为4时,do/while才会停止,在本例中,它永远不会发生 将您的while条件更改为
while(userSelection <= 0 || userSelection > 3)
它会不断重新出现,因为您将代码放置在
do while
循环中。如果只想运行此代码一次,不要使用循环结构,只需将其直接放置在Main
中即可
如果你使用类似
do
{
// ...
}
while (userSelection != 4);
循环中的代码将重复,直到用户输入4
来自msdn文章中的以下内容:
do语句执行一条语句或语句块
重复执行,直到指定表达式的计算结果为false
另一种选择是在
开关
块后使用break
语句。好吧,让你退出3
,循环的实际条件变得无用。程序看起来很好,编译并工作-至少对我来说是这样。你编写它是为了让它重新出现(do循环)。根据您的函数所做的操作,它将再次循环并打印菜单,直到您退出代码>以避免异常。谢谢大家。。。。非常感谢您的建议/帮助。AntiHeadshot TryParse在我的代码中到底会去哪里?是替换解析吗?从技术上讲,thanksIt也会在他们选择3时停止,只是不在while
部分。太好了,非常感谢。。。。我以为会是这样的。。。。再次感谢。对不起,我在这里感到困惑-我知道问这个问题的人没有将答案标记为完整,但这并没有真正添加任何新的内容,而(真的)只是意味着它不能结束。
class Program
{
static void Main() //Start of program
{
//Menu and other UI stuff
string userSelection;
do
{
Console.Clear();
Console.WriteLine("[1] Encryption");
Console.WriteLine("[2] Decryption");
Console.WriteLine("[3] Exit");
Console.Write("Please choose an option 1-3: ");
userSelection = Console.ReadLine();
switch (userSelection)
{
case "1":
Console.WriteLine("mission 1");
break;
case "2":
Console.WriteLine("mission 2");
break;
case "3":
Environment.Exit(0);
break;
default:
Console.WriteLine("Your selection is invalid. Please try again.");
break;
}
Console.ReadLine();
}
while (true);
}
}
class Program
{
static void Main() //Start of program
{
//Menu and other UI stuff
string userSelection;
do
{
Console.Clear();
Console.WriteLine("[1] Encryption");
Console.WriteLine("[2] Decryption");
Console.WriteLine("[3] Exit");
Console.Write("Please choose an option 1-3: ");
userSelection = Console.ReadLine();
switch (userSelection)
{
case "1":
Console.WriteLine("mission 1");
break;
case "2":
Console.WriteLine("mission 2");
break;
case "3":
Environment.Exit(0);
break;
default:
Console.WriteLine("Your selection is invalid. Please try again.");
break;
}
Console.ReadLine();
}
while (true);
}
}