2013-03-16 6 views
5

Der C# Console.ReadLine() Befehl wird einfach ignoriert, wenn ich meinen Code mit mono filename.exe ausführen, nachdem ich ihn mit gmcs filename.cs kompiliert habe. Was könnte passieren? Auch wenn ich den einfachen Code versuchen läuft unten es bis zum Ende überspringt, als ob es nichts lief ..Console.ReadLine wird übersprungen

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

Laufen Sie das von Mono entwickeln? – JaredPar

+0

Sie haben dies als eine Konsolen-App erstellt, oder? Nicht als Windows Forms oder WPF App? –

+0

Ich habe es mit textWrangler erstellt und kompiliert es mit der Konsole auf einem Mac. – user2142733

Antwort

0

Ich vermute, das ist Ihr Problem.

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

ich dies hatte zuvor in meiner eigenen Sache gesehen und konnte die Lösung nicht erinnern. Im Grunde müssen Sie den Wagenrücklauf drücken, der Wagenrücklauf und Zeilenvorschub sendet, wodurch die Leselinie ausgelöst wird. Wäre es möglich, einen Read..Key (someCharacter) zu verwenden?

+0

Dies scheint nicht die gleiche Situation zu sein. Der Code in der verknüpften Frage verwendet sowohl "Read" als auch "ReadLine". –

0

Dies ist unwahrscheinlich, aber ein Sticky Return Key kann dieses Problem verursachen. Nebenbei bemerkt, die Laufzeit respektiert Ihre erste Console.ReadLine();, ignoriert aber die zweite? Wenn dies der Fall ist und Sie eine ältere Tastatur verwenden, kehrt die Return-Taste möglicherweise nicht so schnell in den Zustand "nicht komprimiert" zurück, wie Sie möchten. Dies würde das Problem verursachen, das Sie sehen.

Verwandte Themen