C# 我将如何使用';Console.ReadLine';多次?

C# 我将如何使用';Console.ReadLine';多次?,c#,C#,我试图编写一个程序,要求用户想出一个介于1-100之间的数字,然后它会问“这个数字是大于50还是小于50?”如果用户输入“更高”,程序将执行一个介于50-100之间的随机数。我已经让一切正常运行,除了“userInput”只适用于一行,例如:如果我输入“Higher”,它将工作没有问题,然后程序会询问生成的新数字是否正确,并要求用户输入“Yes/no”,在该阶段程序将不执行输入…但是,如果您输入“Yes/no”在“更高/更低”之前,它会起作用,所以我的猜测是,因为我已将“userInput”声明

我试图编写一个程序,要求用户想出一个介于1-100之间的数字,然后它会问“这个数字是大于50还是小于50?”如果用户输入“更高”,程序将执行一个介于50-100之间的随机数。我已经让一切正常运行,除了“userInput”只适用于一行,例如:如果我输入“Higher”,它将工作没有问题,然后程序会询问生成的新数字是否正确,并要求用户输入“Yes/no”,在该阶段程序将不执行输入…但是,如果您输入“Yes/no”在“更高/更低”之前,它会起作用,所以我的猜测是,因为我已将“userInput”声明为“Console.ReadLine”,它不会读取用户在他们编写的第二行上的真实输入,我的问题是…除了将其声明为该字符串之外,我还能做些什么?正如你所知道的,我是编程新手!任何反馈都非常感谢


代码:

您没有存储用户输入。例如,在您的代码片段中

Random aboveFifty = new Random();
int aboveF = rnd.Next(50, 100);
Console.WriteLine("is your number {0} ", aboveF + "? \n[Yes/No]\n");
Console.ReadLine();
Console.ReadLine()
中的字符串未分配给变量。您需要将用户输入分配给先前为其声明的变量,例如

Random aboveFifty = new Random();
int aboveF = rnd.Next(50, 100);
Console.WriteLine("is your number {0} ", aboveF + "? \n[Yes/No]\n");
userInput = Console.ReadLine();

由于我现在正在工作,由于防火墙的原因,无法访问pastebin。将代码粘贴为问题中的文本..我确实将其声明为Console.ReadLine?确实如此,但您只分配了一次。您需要将每次调用
Console.ReadLine()
时返回的字符串分配给变量,以便对其进行操作。您只存储第一次调用
Console.ReadLine()
的结果,此后无论何时调用
Console.ReadLine()
都不会将结果字符串分配给任何变量;实际上,您只需扔掉结果字符串。也许您需要仔细阅读声明和赋值之间的区别。您的行
stringuserinput=Console.ReadLine()
声明名为
userInput
的字符串变量,并将调用
Console.ReadLine()
的结果分配给新变量。把它看作两件事:声明和赋值。此后,如果希望
userInput
变量存储对
Console.ReadLine()
的后续调用的值,则需要为其分配这些新值。