C# 已跳过Console.ReadLine
在使用C# 已跳过Console.ReadLine,c#,readline,C#,Readline,在使用gmcs filename.cs编译代码后,当我使用mono filename.exe运行代码时,C#Console.ReadLine()命令被忽略。会发生什么?即使我试着运行下面的简单代码,它也会一直跳到最后,好像什么也没运行 static void Main(string[] args) { string value = Console.ReadLine(); Console.WriteLine("You entered: {0}", value); Conso
gmcs filename.cs
编译代码后,当我使用mono filename.exe运行代码时,C#Console.ReadLine()
命令被忽略。会发生什么?即使我试着运行下面的简单代码,它也会一直跳到最后,好像什么也没运行
static void Main(string[] args) {
string value = Console.ReadLine();
Console.WriteLine("You entered: {0}", value);
Console.WriteLine("Press ENTER to continue...");
Console.ReadLine(); // Returns immediately.
Console.WriteLine("Continuing....");
}
我猜这是你的问题
我以前在自己的作品中看到过这一点,不记得解决方案了。基本上,您让用户按下回车键,回车键发送回车和换行,从而触发读线。你能使用Read..Key(someCharacter)吗 这不太可能,但粘性返回键可能会导致此问题。按照您描述的方式,运行时尊重您的第一个Console.ReadLine()代码>,但忽略第二个?如果是这样,并且您使用的是旧键盘,则返回键可能不会像您希望的那样快速返回到“未按下”状态。这将导致您看到的问题。您是从mono develop运行此应用程序的吗?您创建此应用程序作为控制台应用程序,对吗?不是作为windows窗体或WPF应用程序?我使用textWrangler创建了它,并使用mac上的控制台编译了它。这是一个暗中猜测,但windows和OS X有不同的换行符会不会有问题?Windows使用CR+LF
,而OS X使用LF
。键盘是否正在发送CR+LF
,并且每个ReadLine
命令都将CR
和LF
作为单独的新行进行读取?如果添加第三个控制台.ReadLine()
,会发生什么情况?如果编写循环控制台.ReadKey()
的结果,会发生什么情况?情况似乎不同。链接问题中的代码同时使用Read
和ReadLine
。