我想在 C# 中制作一个简单的菜单,例如:应该从控制台打印出这样的内容:
FirstOption
SecondOption
Exit
到目前为止,这是我的代码(命名和封装存在问题,但这只是快速原型,花了大约 30 分钟):
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace ConsoleApplication2
{
class Program
{
static void Main(string[] args)
{
Menu StartGame = new Menu("Start Game");
Menu EndGame = new Menu("End Game");
Console.WriteLine(StartGame);
Console.WriteLine(End Game);
EndGame.isChecked = false;
}
}
class Menu
{
private string Content;
public bool isChecked = true;
public Menu(string Content)
{
this.Content = Content;
}
public void CheckCondition()
{
if (isChecked)
{
Console.BackgroundColor = ConsoleColor.White;
Console.ForegroundColor = ConsoleColor.Black;
}
else
{
Console.ResetColor();
}
}
public override string ToString()
{
this.CheckCondition();
return this.Content;
}
}
}
这个想法是当一个按钮被点击时,菜单项被突出显示。当一个人来到最后一个菜单项时,他不能再按DownArrow
一次,第一个项目和UpArrow
.
我完全坚持这一点。