2013-03-16 9 views
5

Polecenie C# Console.ReadLine() jest po prostu ignorowane, gdy uruchomię mój kod przy użyciu mono filename.exe po skompilowaniu go przy użyciu gmcs filename.cs. Co może się wydarzyć? Nawet kiedy spróbuj uruchomić prosty kod poniżej pomija prawo do końca, jak gdyby zabrakło nic ..Console.ReadLine jest pomijana

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

Czy uruchamiasz to z rozwijania mono? – JaredPar

+0

Stworzyłeś to jako aplikację konsolową, prawda? Nie jako formularze systemu Windows lub aplikacji WPF? –

+0

Utworzyłem go przy użyciu textWrangler i skompilowałem go za pomocą konsoli na mac. – user2142733

Odpowiedz

0

Zgaduję, to jest twój problem.

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

widziałem to wcześniej w moim własnym rzeczy i nie pamiętał rozwiązanie. Zasadniczo użytkownik ma nacisnąć przycisk powrotu karetki, który wysyła powrót karetki i wiersz, powodując wyzwolenie linii zerowej. Czy byłbyś w stanie użyć Read..Key (someCharacter);

+0

To nie wydaje się być taka sama sytuacja. Kod w połączonym pytaniu używa zarówno 'Read' i' ReadLine'. –

0

Jest to mało prawdopodobne, ale przyklejony klucz powrotny może spowodować ten problem. Jak opisałeś, środowisko wykonawcze szanuje twoje pierwsze Console.ReadLine();, ale ignoruje drugie? Jeśli tak, i używasz starszej klawiatury, być może klawisz powrotu nie powróci do stanu "niesplik" tak szybko, jak chcesz. To spowodowałoby problem, który widzisz.

Powiązane problemy