2013-03-16 115 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();,但忽略第二個?如果是這樣,並且您使用的是較舊的鍵盤,則可能返回鍵不會盡快返回到「未按下」狀態。這會導致你看到的問題。