2013-03-16 87 views
5

当我使用mono filename.exe在使用gmcs filename.cs进行编译后运行我的代码时,C#Console.ReadLine()命令简单地被忽略。会发生什么?即使当我尝试运行简单的代码波纹管时,它会跳到最后,好像它什么都不跑。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...."); 
} 
+0

你是从mono开发运行的吗? – JaredPar 2013-03-16 03:22:10

+0

您将此创建为控制台应用程序,对不对?不是一个Windows窗体或WPF应用程序? – 2013-03-16 03:50:09

+0

我使用textWrangler创建了它,并使用mac上的控制台编译它。 – user2142733 2013-03-16 04:21:06

回答

0

我猜这是你的问题。

C# why is it skipping my console.readline()?

我在我自己的东西之前看到了这一点,并不能记住的解决方案。基本上,你让用户按下回车,它发送回车符和换行符,导致readline被触发。你能够使用Read..Key(someCharacter);

+0

这似乎并不一样。链接问题中的代码同时使用“Read”和“ReadLine”。 – 2013-03-20 21:53:51

0

这不太可能,但粘滞返回键可能会导致此问题。顺便说一句,运行时尊重你的第一个Console.ReadLine();,但忽略第二个?如果是这样,并且您使用的是较旧的键盘,则可能返回键不会尽快返回到“未按下”状态。这会导致你看到的问题。