2013-03-16 85 views
5

Lệnh C# Console.ReadLine() chỉ đơn giản là bị bỏ qua khi tôi chạy mã của mình bằng cách sử dụng mono filename.exe sau khi đã biên dịch mã sử dụng gmcs filename.cs. Điều gì có thể xảy ra? Ngay cả khi tôi cố gắng chạy mã đơn giản dưới đây nó bỏ qua ngay đến cuối như thể nó chạy không có gì ..Console.ReadLine bị bỏ qua

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

Bạn có đang chạy từ mono này không? – JaredPar

+0

Bạn đã tạo ứng dụng này làm ứng dụng bảng điều khiển, phải không? Không phải là một hình thức cửa sổ hoặc ứng dụng WPF? –

+0

Tôi tạo ra nó bằng cách sử dụng textWrangler và biên dịch nó bằng cách sử dụng giao diện điều khiển trên một mac. – user2142733

Trả lời

0

Tôi đoán đây là vấn đề của bạn.

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

Tôi đã nhìn thấy điều này trước đây trong công cụ của riêng tôi và không thể nhớ được giải pháp. Về cơ bản, bạn đang có người sử dụng nhấn trở về vận chuyển mà gửi trở lại vận chuyển và dòng thức ăn, gây ra các readline để có được kích hoạt. Bạn sẽ có thể sử dụng một Read..Key (someCharacter);

+0

Điều này có vẻ không giống hoàn cảnh. Mã trong câu hỏi được liên kết sử dụng cả 'Read' và' ReadLine'. –

0

Điều này khó xảy ra nhưng khóa trả về dính có thể gây ra sự cố này. Theo cách bạn mô tả, thời gian chạy tuân theo Console.ReadLine(); đầu tiên của bạn, nhưng bỏ qua giây thứ hai? Nếu vậy, và bạn đang sử dụng bàn phím cũ hơn, có thể phím trả về không quay lại trạng thái 'chưa được nén' nhanh như bạn muốn. Điều này sẽ gây ra vấn đề bạn đang thấy.

Các vấn đề liên quan