Polecenie zamknięcia aplikacji konsoli?

82

Muszę zamknąć konsolę, gdy użytkownik wybierze opcję menu.

Próbowałem użyć, close()ale to nie zadziałało.

jak mogę to zrobić?

ale
źródło
2
Po prostu ciekawy: który obiekt próbowałeś wywołać .Close ()?
Paul Sasik

Odpowiedzi:

28

Czy mówiąc zamknij, masz na myśli, że chcesz zamknąć bieżące wystąpienie aplikacji konsolowej, czy też chcesz, aby proces aplikacji został zakończony? Pominięto wszystkie ważne kody wyjścia:

Environment.Exit(0);

Lub, aby zamknąć bieżące wystąpienie formularza:

this.Close();

Przydatny link .

Robert Northard
źródło
6

Możesz tego spróbować

Application.Exit();
namco
źródło
5
 //How to start another application from the current application
 Process runProg = new Process();
 runProg.StartInfo.FileName = pathToFile; //the path of the application
 runProg.StartInfo.Arguments = genArgs; //any arguments you want to pass
 runProg.StartInfo.CreateNoWindow = true;
 runProg.Start();

 //How to end the same application from the current application
 int IDstring = System.Convert.ToInt32(runProg.Id.ToString());
 Process tempProc = Process.GetProcessById(IDstring);
 tempProc.CloseMainWindow();
 tempProc.WaitForExit();
user5328792
źródło
1

return; zamknie metodę w C #.

Zobacz fragment kodu poniżej

using System;

namespace Exercise_strings
{
    class Program
    {
        static void Main(string[] args)
        {
           Console.WriteLine("Input string separated by -");

            var stringInput = Console.ReadLine();

            if (string.IsNullOrWhiteSpace(stringInput))
            {
                Console.WriteLine("Nothing entered");
                return;
            }
}

Tak więc w tym przypadku, jeśli użytkownik wprowadzi ciąg pusty lub biały znak, użycie metody return elegancko zakończy metodę Main.

sachin mathur
źródło
0

Więc nie powiedziałeś, że chcesz, aby aplikacja została nagle zamknięta lub zamknięta, więc inną opcją może być po prostu eleganckie zakończenie pętli odpowiedzi. (Zakładam, że masz pętlę while czekającą na instrukcje użytkownika. To jest kod z projektu, który właśnie napisałem dzisiaj.

        Console.WriteLine("College File Processor");
        Console.WriteLine("*************************************");
        Console.WriteLine("(H)elp");
        Console.WriteLine("Process (W)orkouts");
        Console.WriteLine("Process (I)nterviews");
        Console.WriteLine("Process (P)ro Days");
        Console.WriteLine("(S)tart Processing");
        Console.WriteLine("E(x)it");
        Console.WriteLine("*************************************");

        string response = "";
        string videotype = "";
        bool starting = false;
        bool exiting = false;

        response = Console.ReadLine();

        while ( response != "" )
        {
            switch ( response  )
            {
                case "H":
                case "h":
                    DisplayHelp();
                    break;

                case "W":
                case "w":
                    Console.WriteLine("Video Type set to Workout");
                    videotype = "W";
                    break;

                case "I":
                case "i":
                    Console.WriteLine("Video Type set to Interview");
                    videotype = "I";
                    break;

                case "P":
                case "p":
                    Console.WriteLine("Video Type set to Pro Day");
                    videotype = "P";
                    break;

                case "S":
                case "s":
                    if ( videotype == "" )
                    {
                        Console.WriteLine("Please Select Video Type Before Starting");
                    }
                    else
                    {
                        Console.WriteLine("Starting...");
                        starting = true;
                    }
                    break;

                case "E":
                case "e":
                    Console.WriteLine("Good Bye!");
                    System.Threading.Thread.Sleep(100);
                    exiting = true;
                    break;
            }

            if ( starting || exiting)
            {
                break;
            }
            else
            {
                response = Console.ReadLine();
            }
        }

        if ( starting )
        {
            ProcessFiles();
        }
Keith Aymar
źródło