Qual è il comando per uscire da un’applicazione Console in C #?

Qual è il comando in C # per uscire da un’applicazione console?

Puoi usare Environment.Exit(0); e Application.Exit

Environment.Exit(0) è più pulito .

Diverse opzioni, per ordine del modo più appropriato:

  1. Restituisce un int dal metodo Program.Main
  2. Lanciare un’eccezione e non gestirla da nessuna parte (utilizzare per situazioni di errore impreviste)
  3. Per forzare la terminazione altrove, System.Environment.Exit ( non portatile! Vedere di seguito )

Modificato il 9/2013 per migliorare la leggibilità

Ritorno con un codice di uscita specifico: come indicato da Servy nei commenti, è ansible dichiarare Main con un tipo di ritorno int e restituire un codice di errore in questo modo. Quindi non c’è davvero bisogno di usare Environment.Exit a meno che non sia necessario terminare con un codice di uscita e non è ansible farlo nel metodo Main. Molto probabilmente è ansible evitarlo lanciando un’eccezione e restituendo un codice di errore in Main se qualsiasi eccezione non gestita si propaga lì. Se l’applicazione è multi-thread, probabilmente avrai bisogno di un numero ancora maggiore per terminare correttamente con un codice di uscita in modo che tu possa star meglio chiamando semplicemente Environment.Exit.

Un altro punto contro l’uso di Evironment.Exit – anche quando si scrivono applicazioni multi-thread – è la riusabilità . Se si desidera riutilizzare il codice in un ambiente che rende Environment.Exit irrilevante (ad esempio una libreria che può essere utilizzata in un server Web), il codice non sarà trasferibile. La soluzione migliore è, a mio parere, sempre quella di utilizzare eccezioni e / o valori di ritorno che rappresentano il metodo che ha raggiunto uno stato di errore / finitura. In questo modo, puoi sempre utilizzare lo stesso codice in qualsiasi ambiente .NET e in qualsiasi tipo di applicazione. Se si sta scrivendo specificamente un’applicazione che deve restituire un codice di uscita o terminare in modo simile a quello che fa Environment.Exit , è ansible procedere e avvolgere il thread al livello più alto e gestire gli errori / le eccezioni secondo necessità.

Le applicazioni della console usciranno quando la funzione principale avrà terminato l’esecuzione. Un “ritorno” raggiungerà questo.

  static void Main(string[] args) { while (true) { Console.WriteLine("I'm running!"); return; //This will exit the console application's running thread } } 

Se restituisci un codice di errore, puoi farlo in questo modo, accessibile da funzioni esterne alla discussione iniziale:

  System.Environment.Exit(-1); 

È ansible utilizzare Environment.Exit(0) e Application.Exit .

Environment.Exit() : termina questo processo e fornisce al sistema operativo sottostante il codice di uscita specificato.

Uso

return;

per andare alla fine del programma e uscire.

Ho avuto questo dubbio e ho trovato la risposta semplice (anche la mia app era piuttosto semplice).
Stavo anche cercando di trovare un modo per interrompere l’app della console in esecuzione. L’app eseguirà un’attività e quindi reinserirà il ciclo iniziale, invece di uscire.

 do{ byte.TryParse(Console.ReadLine(), out option); if (option == 1){ write(path); }else if (option == 2){ read(path); }else Console.WriteLine("Wrong option"); } while (option != 1 || option != 2); 

Ogni volta che inserivo la funzione di scrittura o lettura, al termine, il programma continuava a ripetere il ciclo e chiedeva l’input dell’utente, a causa della prima riga del ciclo “do”.
La soluzione semplice è semplicemente aggiungere un’istruzione break dopo entrambe le funzioni:

 if (option == 1){ write(path); break; }else if (option == 2){ read(path); break; }else 

Molto simile all’istruzione switch.

while (Console.Read ()! = ‘q’) {}

Console.WriteLine ( “Ciao.”);