所以我在MainMenu
類編寫這些代碼,它工作得很好:讓我們回到了一個while循環
public void Start() //Start method
{
bool done = false;
while (!done)
{
ShowMeny();
SwitchMethod();
NumChoice = InputHelper.ReadIntegerConsole();
if (NumChoice == 0) // if the input is 0, set done to true and stop the loop
done = true;
// ...
不過,在這裏我寫在另一個類,而當你按下0,這是應該回到我的MainMenu
。爲什麼我不能使用相同類型的代碼?所有這些都是循環使用ShowMenu
。
private void CalcMenu()
{
bool Done = false;
while (!Done)
{
ShowMenu();
if (MenuChoice == 0)
Done = true;
}
}
如果您在此處按0,則重複2次然後退出。這是全班同學:
namespace ConsoleApplication1
{
class WorkingSchedule
{
int MenuChoice = -1;
public void Start()
{
ShowMenu();
CalcMenu();
//LoopOneWeeks();
//LoopTwoNights
//ShowResults();
}
private void ShowMenu()
{
Console.WriteLine("Välj det schema som du vill se:");
Console.WriteLine("_______________________________");
Console.WriteLine("1. Visa en lista de veckor du ska jobba");
Console.WriteLine("2. Visa en lista de nätter du ska jobba");
Console.WriteLine("0. För att återvända till huvudmenyn");
MenuChoice = InputHelper.ReadIntegerConsole();
Console.WriteLine("Ditt val: " + MenuChoice);
}
private void CalcMenu()
{
bool Done = false;
while (!Done)
{
ShowMenu();
if (MenuChoice == 0)
{
Done = true;
ReturnMainMenu();
}
else if (MenuChoice == 1)
{
}
else if (MenuChoice == 2)
{
}
}
}
private void ReturnMainMenu()
{
MenuProgram MPObj = new MenuProgram();
MPObj.Start();
}
InputHelper.ReadIntegerConsole是輸入輔助類
「MenuChoice」聲明在哪裏,它在哪裏分配? –
@MichaelDunlap它是一個實例變量。 – Baxtex
並且'ShowMenu()'調用是否包含分配給'MenuChoice'的代碼? –