我有這個控制檯應用程序,這是非常基本的,你可以看到和IM試圖使它的地方時,它說爲什麼按下隨機字符時我的應用程序關閉?
Console.WriteLine(「你想回到主菜單?Y/N「);
並讓我說我不要按Y或N ..但是讓我們說F應用程序剛剛關閉..怎麼回事? 我應該用什麼方法來解決這個問題?
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace Game
{
class Program
{
static void Main(string[] args)
{
startMenu();
}
public static void startMenu()
{
Console.WriteLine("======= Welcome To The Player Registry =======");
Console.WriteLine("1. Name");
Console.WriteLine("2. Age");
Console.WriteLine("3. City");
try
{
int value = Convert.ToInt32(Console.ReadLine());
int answer = value;
switch (answer)
{
case 1:
Console.Clear();
Console.WriteLine("======= Player Names=======");
Console.WriteLine("Jonsson, Adam");
Console.WriteLine("Jetsson, Carl");
Console.WriteLine("Jimmy, Golf");
Console.WriteLine("Ali, Mohammed");
Console.WriteLine();
Console.WriteLine("Would you like to go back to the main menu? Y/N");
string choice = Console.ReadLine();
if (choice.Equals("Y", StringComparison.OrdinalIgnoreCase) || choice.Equals("y", StringComparison.OrdinalIgnoreCase))
{
Console.Clear();
startMeny();
}
if (choice.Equals("N", StringComparison.OrdinalIgnoreCase) || choice.Equals("n", StringComparison.OrdinalIgnoreCase))
{
Console.Clear();
Console.WriteLine("Okay.. Bye!");
Console.ReadKey();
}
break;
case 2:
Console.WriteLine("Look it works!");
break;
default:
Console.WriteLine("What?..");
return;
}
}
catch
{
}
}
}
}
遵循邏輯。如果「選擇」不是「Y」或「N」,那麼你跳出了開關......然後這就是程序的結束。 – Jonesopolis
請勿以這種方式使用try-catch。請使用從控制檯讀取的行上的TryParse方法。 –