Meine Konsolenanwendungen in Visual Studio werden automatisch geschlossen. Ich möchte also Cs system("PAUSE")
verwenden, um die Anwendungen am Ende ihrer Ausführung anzuhalten. Wie kann ich das erreichen?
Console.ReadLine();
oder
Console.ReadKey();
ReadLine()
wartet auf ↩, ReadKey()
wartet auf eine beliebige Taste (außer Modifikatortasten).
Bearbeiten: Stahl das Schlüsselsymbol von Darin.
Sie können Ihre Arbeit mit nur kompilieren (mit dem Debuggen beginnen) Ctrl+F5.
Versuch es. Ich mache es immer und die Konsole zeigt mir meine Ergebnisse offen an. Es wird kein zusätzlicher Code benötigt.
Versuchen Sie Strg + F5 in Visual Studio, um Ihr Programm auszuführen. Dadurch wird automatisch eine Pause mit "Drücken Sie eine beliebige Taste, um fortzufahren ..." ohne die Funktionen Console.Readline () oder ReadKey () eingefügt.
Console.ReadLine()
, um auf den Benutzer zu warten Enter oder Console.ReadKey
, um auf einen Schlüssel zu warten.
Verwenden:
Console.ReadKey();
Damit es geschlossen wird, wenn jemand eine Taste drückt, oder:
Console.ReadLine();
Wenn der Benutzer etwas eingibt und die Eingabetaste drückt.
Strg + F5 ist besser, weil Sie keine zusätzlichen Zeilen benötigen. Und am Ende können Sie den laufenden Modus betreten und verlassen.
Wenn Sie jedoch ein Programm mit F5 starten und einen Haltepunkt setzen, können Sie Ihre Anwendung debuggen, was Ihnen weitere Vorteile bringt.
Alternativ können Sie das Schließen mit dem folgenden Code verzögern:
System.Threading.Thread.Sleep(1000);
Beachten Sie, dass Sleep
Millisekunden verwendet.
Diese Lösungen ändern die Funktionsweise Ihres Programms.
Sie können natürlich #if DEBUG
und #endif
um die Konsolenaufrufe setzen, aber wenn Sie wirklich verhindern möchten, dass das Fenster nur auf Ihrem Entwicklungscomputer unter Visual Studio geschlossen wird, oder wenn VS nur dann ausgeführt wird, wenn Sie Konfigurieren Sie es explizit, und Sie möchten den ärgerlichen 'Press any key to exit...'
nicht, wenn Sie über die Befehlszeile ausgeführt werden. Verwenden Sie dazu die System.Diagnostics.Debugger
APIs.
Wenn Sie nur möchten, dass dies in DEBUG
funktioniert, schließen Sie diesen Code einfach in eine [Conditional("DEBUG")] void BreakConditional()
-Methode ein.
// Test some configuration option or another
bool launch;
var env = Environment.GetEnvironmentVariable("LAUNCH_DEBUGGER_IF_NOT_ATTACHED");
if (!bool.TryParse(env, out launch))
launch = false;
// Break either if a debugger is already attached, or if configured to launch
if (launch || Debugger.IsAttached) {
if (Debugger.IsAttached || Debugger.Launch())
Debugger.Break();
}
Dies funktioniert auch zum Debuggen von Programmen, die erhöhte Berechtigungen benötigen oder die sich selbst erhöhen müssen.
Wenn Sie nicht möchten, dass das Programm geschlossen wird, auch wenn ein Benutzer eine beliebige Taste drückt.
while (true) {
System.Console.ReadKey();
};//This wont stop app