Console.WriteLine("Type start to start");
string abc = Console.ReadLine();
if (abc = "start");
因此,我想用我从观看3个有关C#的教程中学到的知识进行测验,但是我似乎无法找到一种方法来识别用户是否编写了start。帮助吗?
答案 0 :(得分:3)
这应该可以完成
Console.WriteLine("Type start to start");
string input = Console.ReadLine();
if (input == "start"){
//DoSomething
}
答案 1 :(得分:2)
代码的问题是您使用的是赋值运算符=
,而不是比较运算符==
。进行单个更改将使您的代码按预期运行。
但是,除非您要允许用户输入其他内容,否则最好让他们按下任意键以开始操作(如果他们不想启动,为什么要在该位置键入任何内容,可能会更好)所有?)。如果这是一个选项,则可以使用Console.ReadKey
方法,该方法从控制台窗口读取(并返回)下一次按键。
例如:
Console.WriteLine("Press any key to continue...");
Console.ReadKey();
如果您确实想检查它们输入的内容(例如,在菜单系统中),则可能需要进行不区分大小写的比较,而不是对硬编码的字符串使用==
。在这种情况下,Equals
类的string
方法具有一个重写,使您可以指定不区分大小写的比较:
// An endless loop, until the user enters a valid command, when we break or exit.
while (true)
{
Console.Write("Type 'start' to begin, or 'quit' to exit: ");
string input = Console.ReadLine();
if (input.Equals("start", StringComparison.OrdinalIgnoreCase))
{
// They entered 'start', so we can exit the loop and start our code
Console.WriteLine("Program starting!");
break; // This exits the 'while' loop, and the program continues
}
if (input.Equals("quit", StringComparison.OrdinalIgnoreCase))
{
// Exit the program (the whole program quits so we don't need a break
Environment.Exit(0);
}
else
{
// Let them know the input was invalid, and the loop will continue
Console.WriteLine("That is not a recognized command, please try again");
}
}
// Code execution will continue here if they type "start"
Console.Write("\nDone! Press any key to exit...");
Console.ReadKey();