C# Console.ReadLine在While循环中写入时缺少输入
我有两个接受用户输入的输入行,但是当在While循环中写入时,第一个用户输入被忽略 我已经在C上尝试过,while循环和两行用户输入都被接受 在没有While循环的情况下执行以下代码时的第一个控制台窗口 第二个控制台窗口(当封装在While循环中时)n=两个用户输入都在一条线上,焊料的数量为空。 尝试替换:C# Console.ReadLine在While循环中写入时缺少输入,c#,loops,console-application,C#,Loops,Console Application,我有两个接受用户输入的输入行,但是当在While循环中写入时,第一个用户输入被忽略 我已经在C上尝试过,while循环和两行用户输入都被接受 在没有While循环的情况下执行以下代码时的第一个控制台窗口 第二个控制台窗口(当封装在While循环中时)n=两个用户输入都在一条线上,焊料的数量为空。 尝试替换: Console.Read(); …与: Console.WriteLine(); Console.ReadKey(true); 我想您希望允许用户在循环继续下一次迭代之前按enter
Console.Read();
…与:
Console.WriteLine();
Console.ReadKey(true);
我想您希望允许用户在循环继续下一次迭代之前按enter键,对吗?这就是您调用Console的原因。请阅读循环末尾附近的内容 但是,Console.Read只读读取1个字符,但当您按enter键时,实际上在Windows上至少输入了2个字符,它们分别是\r和\n。Console.Read读取\r,未读取 在循环的下一次迭代中,对Console.ReadLine的第一次调用读取\n,这是一个空行,因此它返回一个空字符串。请注意,它没有等待用户输入任何内容,因为它看到仍有一些字符未读 要解决此问题,可以调用ReadKey而不是Read
Console.WriteLine();
Console.ReadKey(true);
Console.ReadKey();