我有一个关于验证字符串用户输入的问题。
我有一个字符串变量集并且有readLine()
,但在运行时:
Console.WriteLine("Start by typing 'hello'");
String activity = Console.ReadLine();
if ("hello".Equals(activity))
{
Console.WriteLine("Hi!");
}
else
{
Console.WriteLine("Please try again.");
WakeUp();
}
我改变了一些词,但它列出了我试图使用的例子。
无论用户输入什么,它总是返回else{}
语句。
我有什么遗失的吗?获取和验证用户输入的更好方法是什么?
对不起有任何困惑。如果这还不够,我可以编辑并发布我的确切代码。
因此,如果不创建新帖子,我该如何将其写入switch语句?
switch (activity){
case "hello": console.WriteLine("HI!");
break;
case "bye": Console.WriteLine("Goodbye.");
break;
default: Console.WriteLine("Please try again.");
答案 0 :(得分:0)
此示例是否有助于在您的某处找到问题?
Console.WriteLine("type 'q' to quit");
while (true)
{
string input = Console.ReadLine();
if (input == "q")
{
break;
}
else
{
Console.WriteLine("You entered '{0}'", input);
}
}
答案 1 :(得分:0)
你的样本对我来说很好。比较字符串时,根据您的意图,降低外壳并修剪空白可能很有用。 (“你好”不等于“hellO”)
Console.WriteLine("Start by typing 'hello'");
String activity = Console.ReadLine();
activity = activity.Trim().ToLower(); // try adding this line
if ("hello".Equals(activity))
Console.WriteLine("Hi!");
else
{
Console.WriteLine("Please try again.");
WakeUp();
}