控制台.ReadLine无法用更改输入.ToUpper



我正在创建一个"选择你自己的冒险游戏",我正在尝试使用将用户输入更改为大写。ToUpper((;但无论出于何种原因,如果输入尚未封顶,它都会跳过else-if语句,进入游戏的下一步。以下是我的代码当前的外观。

Console.WriteLine("It begins on a cold rainy night. Your sitting in your room and hear a noise coming from down the hall. Do you go investigate?");
//First decision
Console.Write("Type YES or NO: ");
string noiseChoice = Console.ReadLine();
string capNoise = noiseChoice.ToUpper();

//First decision outcome      
if (noiseChoice == "NO")
{
Console.WriteLine("Not much of an adventure if you don't leave your room!");
Console.WriteLine("THE END.");
}
else if (noiseChoice == "YES")
{
Console.WriteLine("You walk into the hallway and see a light coming from under a door down the hall.");
Console.WriteLine("You walk towards it. Do you open it or knock?");
}
//Second decision
Console.Write("Type OPEN or KNOCK: ");
string doorChoice = Console.ReadLine();
string capDoor = doorChoice.ToUpper();

当系统提示键入YES或NO时,如果您输入是或否,它将跳到下一个控制台。Write((;类型为OPEN或KNOCK。但是,如果输入是YES或NO,则根据需要继续执行else-if语句。我是C#的新手,所以我们非常感谢您的帮助!

您检查的变量错误。

在这里,您使用ToUpper()转换文本,并将大写文本放入capNoise变量中

string capNoise = noiseChoice.ToUpper();

但是你需要检查大写文本的capNoise,但你要检查的是noiseChoice,它是你的原始输入。

if (noiseChoice == "NO")

因此,您需要将ToUpper((结果存储在noiseChoise中。

noiseChoice= noiseChoice.ToUpper();

或检查capNoise

if (capNoise == "NO")

相关内容

  • 没有找到相关文章

最新更新