几天来,我一直在努力解决这个概念。我有一个包含 3 个类的控制台程序:
1) 主程序
2) 创建登录屏幕
3) 实际登录屏幕
这是代码:
class Program
{
static void Main(string[] args)
{
//Instantiate Main Menu
Menu myMenu = new Menu();
myMenu.mainMenu();
//testing global values
Login myLogin = new Login();
Console.Write("The new Login is ");
Console.WriteLine(myLogin.newLogin);
//Pause
Console.WriteLine("Press Any Key...");
Console.ReadLine();
}
}
class Menu
{
public void mainMenu()
{
// [create menu that prints choices on the screen]
start:
Console.Clear();
Console.WriteLine("PLEASE CHOOSE AN OPTION");
Console.WriteLine();
Console.WriteLine("[1] LOGIN \n[2] CREATE LOGIN");
Console.WriteLine();
Console.Write("> ");
string menuChoice = Console.ReadLine();
// [switch/case for Main Menu]
switch (menuChoice)
{
case "1":
Console.WriteLine("You chose 1");
break;
case "2":
// [instantiate createLogin]
Login myLogin = new Login();
myLogin.createLogin();
Console.WriteLine(myLogin.newLogin);
break;
default:
Console.WriteLine("INVALID OPTION... TRY AGAIN.");
System.Threading.Thread.Sleep(5000);
goto start;
}
}
class Login
{
// [empty containers for newLogin & newPass]
public string newLogin { get; set; }
public string newPass { get; set; }
public void createLogin()
{
// [display new login screen & assign newLogin & newPass]
Console.Clear();
Console.WriteLine("CREATE NEW LOGIN");
Console.WriteLine();
Console.Write("LOGIN: ");
newLogin = Console.ReadLine();
Console.Write("PASSWORD: ");
newPass = Console.ReadLine();
// [instantiate & return to main menu]
Menu myMenu = new Menu();
myMenu.mainMenu();
}
}
现在,当我尝试从主程序输出代码时,值为空。我在这里有错误的结构吗?我真的不需要存储多个登录名并通过(目前),因此此时不需要数组,但我肯定会在以后学习。我是自学的,所以我尽量让事情变得简单,直到我确定这个概念。
我想存储 newLogin 和 newPass 并在 main.xml 中打印值。请帮忙。
谢谢迈克