我在让程序了解用户输入的答案是否正确时遇到了问题。我试着使用String.Empty,但这不起作用。我现在非常困惑为什么它不起作用,我也尝试了userInput=password,反之亦然,但这使得答案总是正确的。老实说,我想不出其他任何东西,这就是我的代码现在的样子:
string password = "abcd1234";
string userInput = String.Empty;
string Text1 = "Please Insert Your Password";
string Text2 = "Incorrect Password!";
string Text3 = "Correct You May Proceed!";
Console.WriteLine(Text1);
Console.ReadLine();
if (userInput == password)
Console.WriteLine(Text3);
if (userInput != password)
Console.WriteLine(Text2);
我可以假设在看到Text1提示之前也必须点击回车键吗?
string userInput = Console.ReadLine();
在您的应用程序中看到的任何其他内容之前都在侦听您的输入。提示输入密码后,应将此行移到。
应删除其他ReadLine:
Console.ReadLine(); \this doesn't assign your input to anything
这条线正在等待输入,但对它没有任何作用。
顺便说一句,你确实想要"=="-如果两者相等,则返回true。单个"="用于赋值,就像您在本代码前面所做的那样。
请使用这个:
string password = "abcd1234";
string Text1 = "Please Insert Your Password";
string Text2 = "Incorrect Password!";
string Text3 = "Correct You May Proceed!";
string userInput = Console.ReadLine();
Console.WriteLine(Text1);
if (password.Equals(userInput))
Console.WriteLine(Text3);
else
Console.WriteLine(Text2);