Tutorial: Erstellen einer .NET-Konsolenanwendung mit Visual Studio Code

In diesem Tutorial wird gezeigt, wie Sie eine .NET-Konsolenanwendung erstellen und ausführen, indem Sie Visual Studio Code und die .NET-CLI verwenden. Projektaufgaben wie das Erstellen, Kompilieren und Ausführen eines Projekts erfolgen mithilfe der .NET-CLI. Sie können nach Wunsch dieses Tutorial mit einem anderen Code-Editor nachvollziehen und Befehle in einem Terminal ausführen.

Voraussetzungen

Erstellen der App

Erstellen Sie ein .NET-Konsolen-App-Projekt mit dem Namen „HelloWorld“.

  1. Starten Sie Visual Studio Code.

  2. Wählen Sie im Hauptmenü Datei>Ordner öffnen (Datei>Öffnen... unter macOS) aus.

  3. Erstellen Sie im Dialogfeld Ordner öffnen einen Ordner HelloWorld, und wählen Sie ihn aus. Klicken Sie dann auf Ordner auswählen (Öffnen unter macOS).

    Der Name des Ordners wird standardmäßig zum Projektnamen und Namespacenamen. Sie fügen später in diesem Tutorial Code hinzu, der erwartet, dass der Projektnamespace HelloWorld ist.

  4. Wählen Sie im Dialogfeld Vertrauen Sie den Autoren der Dateien in diesem Ordner? die Option Ja, ich vertraue den Autoren. Sie können den Autoren vertrauen, da dieser Ordner nur Dateien enthält, die von .NET generiert und von Ihnen hinzugefügt oder geändert wurden.

  5. Öffnen Sie das Terminal in Visual Studio Code, indem Sie im Hauptmenü Ansicht>Terminal auswählen.

    DasTerminal wird mit der Eingabeaufforderung im Ordner HelloWorld geöffnet.

  6. Geben Sie im Terminal den folgenden Befehl ein:

    dotnet new console --framework net8.0 --use-program-main
    

    Öffnen Sie die Datei Program.cs, um die einfache Anwendung anzuzeigen, die von der Vorlage erstellt wurde:

    namespace HelloWorld;
    
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
    

    Wenn Sie eine CS-Datei zum ersten Mal öffnen, werden Sie von Visual Studio Code aufgefordert, Ressourcen zum Erstellen und Debuggen Ihrer App hinzuzufügen. Wählen Sie Ja aus. Visual Studio Code erstellt dann einen Ordner .vscode mit den Dateien launch.json und tasks.json.

    Hinweis

    Wenn Sie die Eingabeaufforderung nicht erhalten oder versehentlich schließen, ohne Ja auszuwählen, führen Sie die folgenden Schritte aus, um launch.json und tasks.json zu erstellen:

    • Wählen Sie im Menü Ausführen>Konfiguration hinzufügen aus.
    • Wählen Sie in der Eingabeaufforderung Umgebung auswählen die Option .NET 5+ und .NET Core aus.

    Der Code definiert die Klasse Program mit der einzelnen Methode Main, die ein String-Array als Argument verwendet. Main ist der Einstiegspunkt der Anwendung, die Methode, die automatisch von der Laufzeit aufgerufen wird, wenn diese die Anwendung startet. Alle Befehlszeilenargumente, die beim Start der Anwendung bereitgestellt werden, sind im args-Array verfügbar. Der Code in Main ruft die Console.WriteLine(String)-Methode auf, um eine Meldung im Konsolenfenster anzuzeigen.

    C# enthält ein Feature namens Anweisungen der obersten Ebene, mit dem Sie die Program-Klasse und die Main-Methode auslassen können. In diesem Tutorial verwendet dieses Feature nicht verwendet. Ob Sie es in Ihren Programmen verwenden, ist eine Frage der Präferenz. In dem dotnet new-Befehl, mit dem das Projekt erstellt wurde, verhinderte die --use-program-main-Option die Verwendung von Anweisungen der obersten Ebene.

Ausführen der App

Führen Sie die folgenden Befehle im Terminal aus:

dotnet run

Das Programm zeigt „Hello World!“ an, und wird beendet.

The dotnet run command

Optimieren der App

Erweitern Sie die Anwendung, um den Benutzer aufzufordern, seinen Namen einzugeben und diesen zusammen mit dem Datum und der Uhrzeit anzuzeigen.

  1. Öffnen Sie Program.cs.

  2. Ersetzen Sie den Inhalt der Main-Methode in Program.cs, der aus der Zeile besteht, die Console.WriteLine aufruft, durch den folgenden Code:

    Console.WriteLine("What is your name?");
    var name = Console.ReadLine();
    var currentDate = DateTime.Now;
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!");
    Console.Write($"{Environment.NewLine}Press any key to exit...");
    Console.ReadKey(true);
    

    Mit diesem Code wird eine Eingabeaufforderung im Konsolenfenster angezeigt und gewartet, bis der Benutzer eine Zeichenfolge eingibt und die EINGABETASTE drückt. Der Code speichert diese Zeichenfolge in einer Variablen namens name. Er ruft auch den Wert der DateTime.Now Eigenschaft ab, der die aktuelle lokale Uhrzeit enthält, und weist den Wert einer Variablen namens currentDate zu. Außerdem werden diese Werte im Konsolenfenster angezeigt. Schließlich wird eine Eingabeaufforderung im Konsolenfenster angezeigt, und die Console.ReadKey(Boolean)-Methode wird aufgerufen, um auf eine Benutzereingabe zu warten.

    NewLine ist eine plattform- und sprachunabhängige Möglichkeit, einen Zeilenumbruch darzustellen. Sie entspricht \n in C#.

    Mit dem Dollarzeichen ($) vor einer Zeichenfolge können Sie Ausdrücke wie Variablennamen in geschweifte Klammern in der Zeichenfolge einschließen. Der Ausdruckswert wird anstelle des Ausdrucks in die Zeichenfolge eingefügt. Diese Syntax wird als interpolierte Zeichenfolgen bezeichnet.

  3. Speichern Sie die Änderungen.

    Wichtig

    In Visual Studio Code müssen Sie Änderungen explizit speichern. Im Gegensatz zu Visual Studio werden Dateiänderungen nicht automatisch gespeichert, wenn Sie eine App erstellen und ausführen.

  4. Führen Sie das Programm erneut aus:

    dotnet run
    
  5. Reagieren Sie auf die Eingabeaufforderung, indem Sie einen Namen eingeben und die EINGABETASTE drücken.

    Terminal window with modified program output

  6. Drücken Sie eine beliebige Taste, um das Programm zu beenden.

Zusätzliche Ressourcen

Nächste Schritte

In diesem Tutorial haben Sie eine .NET-Konsolenanwendung erstellt. Im nächsten Tutorial debuggen Sie die App.

In diesem Tutorial wird gezeigt, wie Sie eine .NET-Konsolenanwendung erstellen und ausführen, indem Sie Visual Studio Code und die .NET-CLI verwenden. Projektaufgaben wie das Erstellen, Kompilieren und Ausführen eines Projekts erfolgen mithilfe der .NET-CLI. Sie können nach Wunsch dieses Tutorial mit einem anderen Code-Editor nachvollziehen und Befehle in einem Terminal ausführen.

Voraussetzungen

Erstellen der App

Erstellen Sie ein .NET-Konsolen-App-Projekt mit dem Namen „HelloWorld“.

  1. Starten Sie Visual Studio Code.

  2. Wählen Sie im Hauptmenü Datei>Ordner öffnen (Datei>Öffnen... unter macOS) aus.

  3. Erstellen Sie im Dialogfeld Ordner öffnen einen Ordner HelloWorld, und wählen Sie ihn aus. Klicken Sie dann auf Ordner auswählen (Öffnen unter macOS).

    Der Name des Ordners wird standardmäßig zum Projektnamen und Namespacenamen. Sie fügen später in diesem Tutorial Code hinzu, der erwartet, dass der Projektnamespace HelloWorld ist.

  4. Wählen Sie im Dialogfeld Vertrauen Sie den Autoren der Dateien in diesem Ordner? die Option Ja, ich vertraue den Autoren. Sie können den Autoren vertrauen, da dieser Ordner nur Dateien enthält, die von .NET generiert und von Ihnen hinzugefügt oder geändert wurden.

  5. Öffnen Sie das Terminal in Visual Studio Code, indem Sie im Hauptmenü Ansicht>Terminal auswählen.

    DasTerminal wird mit der Eingabeaufforderung im Ordner HelloWorld geöffnet.

  6. Geben Sie im Terminal den folgenden Befehl ein:

    dotnet new console --framework net7.0
    

    Die Projektvorlage erstellt eine einfache Anwendung, die „Hello World“ im Konsolenfenster anzeigt, indem die Console.WriteLine(String)-Methode in Program.cs aufgerufen wird.

    Console.WriteLine("Hello, World!");
    
  7. Ersetzen Sie den Inhalt von Program.cs durch den folgenden Code:

    namespace HelloWorld
    {
        class Program
        {
            static void Main(string[] args)
            {
                Console.WriteLine("Hello, World!");
            }
        }
    }
    

    Wenn Sie eine CS-Datei zum ersten Mal bearbeiten, werden Sie von Visual Studio Code aufgefordert, die fehlenden Ressourcen zum Erstellen und Debuggen Ihrer App hinzuzufügen. Wählen Sie Ja aus. Visual Studio Code erstellt dann einen Ordner .vscode mit den Dateien launch.json und tasks.json.

    Hinweis

    Wenn Sie die Eingabeaufforderung nicht erhalten oder versehentlich schließen, ohne Ja auszuwählen, führen Sie die folgenden Schritte aus, um launch.json und tasks.json zu erstellen:

    • Wählen Sie im Menü Ausführen>Konfiguration hinzufügen aus.
    • Wählen Sie in der Eingabeaufforderung Umgebung auswählen die Option .NET 5+ und .NET Core aus.

    Der Code definiert die Klasse Program mit der einzelnen Methode Main, die ein String-Array als Argument verwendet. Main ist der Einstiegspunkt der Anwendung, die Methode, die automatisch von der Laufzeit aufgerufen wird, wenn diese die Anwendung startet. Alle Befehlszeilenargumente, die beim Start der Anwendung bereitgestellt werden, sind im args-Array verfügbar.

    In der neuesten Version von C# können Sie mit einem neuen Feature namens Anweisungen der obersten Ebene die Program-Klasse und die Main-Methode auslassen. Die meisten vorhandenen C#-Programme verwenden keine Anweisungen der obersten Ebene, daher wird dieses neue Feature in diesem Tutorial nicht verwendet. Es ist jedoch in C# 10 verfügbar, und ob Sie es in Ihren Programmen verwenden, ist eine Frage der Präferenz.

Ausführen der App

Führen Sie die folgenden Befehle im Terminal aus:

dotnet run

Das Programm zeigt „Hello World!“ an, und wird beendet.

The dotnet run command

Optimieren der App

Erweitern Sie die Anwendung, um den Benutzer aufzufordern, seinen Namen einzugeben und diesen zusammen mit dem Datum und der Uhrzeit anzuzeigen.

  1. Öffnen Sie Program.cs.

  2. Ersetzen Sie den Inhalt der Main-Methode in Program.cs, der aus der Zeile besteht, die Console.WriteLine aufruft, durch den folgenden Code:

    Console.WriteLine("What is your name?");
    var name = Console.ReadLine();
    var currentDate = DateTime.Now;
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!");
    Console.Write($"{Environment.NewLine}Press any key to exit...");
    Console.ReadKey(true);
    

    Mit diesem Code wird eine Eingabeaufforderung im Konsolenfenster angezeigt und gewartet, bis der Benutzer eine Zeichenfolge eingibt und die EINGABETASTE drückt. Der Code speichert diese Zeichenfolge in einer Variablen namens name. Er ruft auch den Wert der DateTime.Now Eigenschaft ab, der die aktuelle lokale Uhrzeit enthält, und weist den Wert einer Variablen namens currentDate zu. Außerdem werden diese Werte im Konsolenfenster angezeigt. Schließlich wird eine Eingabeaufforderung im Konsolenfenster angezeigt, und die Console.ReadKey(Boolean)-Methode wird aufgerufen, um auf eine Benutzereingabe zu warten.

    NewLine ist eine plattform- und sprachunabhängige Möglichkeit, einen Zeilenumbruch darzustellen. Alternativen sind \n in C# und vbCrLf in Visual Basic.

    Mit dem Dollarzeichen ($) vor einer Zeichenfolge können Sie Ausdrücke wie Variablennamen in geschweifte Klammern in der Zeichenfolge einschließen. Der Ausdruckswert wird anstelle des Ausdrucks in die Zeichenfolge eingefügt. Diese Syntax wird als interpolierte Zeichenfolgen bezeichnet.

  3. Speichern Sie die Änderungen.

    Wichtig

    In Visual Studio Code müssen Sie Änderungen explizit speichern. Im Gegensatz zu Visual Studio werden Dateiänderungen nicht automatisch gespeichert, wenn Sie eine App erstellen und ausführen.

  4. Führen Sie das Programm erneut aus:

    dotnet run
    
  5. Reagieren Sie auf die Eingabeaufforderung, indem Sie einen Namen eingeben und die EINGABETASTE drücken.

    Terminal window with modified program output

  6. Drücken Sie eine beliebige Taste, um das Programm zu beenden.

Zusätzliche Ressourcen

Nächste Schritte

In diesem Tutorial haben Sie eine .NET-Konsolenanwendung erstellt. Im nächsten Tutorial debuggen Sie die App.

In diesem Tutorial wird gezeigt, wie Sie eine .NET-Konsolenanwendung erstellen und ausführen, indem Sie Visual Studio Code und die .NET-CLI verwenden. Projektaufgaben wie das Erstellen, Kompilieren und Ausführen eines Projekts erfolgen mithilfe der .NET-CLI. Sie können nach Wunsch dieses Tutorial mit einem anderen Code-Editor nachvollziehen und Befehle in einem Terminal ausführen.

Voraussetzungen

Erstellen der App

Erstellen Sie ein .NET-Konsolen-App-Projekt mit dem Namen „HelloWorld“.

  1. Starten Sie Visual Studio Code.

  2. Wählen Sie im Hauptmenü Datei>Ordner öffnen (Datei>Öffnen... unter macOS) aus.

  3. Erstellen Sie im Dialogfeld Ordner öffnen einen Ordner HelloWorld, und wählen Sie ihn aus. Klicken Sie dann auf Ordner auswählen (Öffnen unter macOS).

    Der Name des Ordners wird standardmäßig zum Projektnamen und Namespacenamen. Sie fügen später in diesem Tutorial Code hinzu, der erwartet, dass der Projektnamespace HelloWorld ist.

  4. Wählen Sie im Dialogfeld Vertrauen Sie den Autoren der Dateien in diesem Ordner? die Option Ja, ich vertraue den Autoren. Sie können den Autoren vertrauen, da dieser Ordner nur Dateien enthält, die von .NET generiert und von Ihnen hinzugefügt oder geändert wurden.

  5. Öffnen Sie das Terminal in Visual Studio Code, indem Sie im Hauptmenü Ansicht>Terminal auswählen.

    DasTerminal wird mit der Eingabeaufforderung im Ordner HelloWorld geöffnet.

  6. Geben Sie im Terminal den folgenden Befehl ein:

    dotnet new console --framework net6.0 --use-program-main
    

    Die Projektvorlage erstellt eine einfache Anwendung, die „Hello World“ im Konsolenfenster anzeigt, indem die Console.WriteLine(String)-Methode in Program.cs aufgerufen wird.

    namespace HelloWorld;
    
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine("Hello, World!");
        }
    }
    

    Wenn Sie eine CS-Datei zum ersten Mal bearbeiten, werden Sie von Visual Studio Code aufgefordert, die fehlenden Ressourcen zum Erstellen und Debuggen Ihrer App hinzuzufügen. Wählen Sie Ja aus. Visual Studio Code erstellt dann einen Ordner .vscode mit den Dateien launch.json und tasks.json.

    Hinweis

    Wenn Sie die Eingabeaufforderung nicht erhalten oder versehentlich schließen, ohne Ja auszuwählen, führen Sie die folgenden Schritte aus, um launch.json und tasks.json zu erstellen:

    • Wählen Sie im Menü Ausführen>Konfiguration hinzufügen aus.
    • Wählen Sie in der Eingabeaufforderung Umgebung auswählen die Option .NET 5+ und .NET Core aus.

    Der Code definiert die Klasse Program mit der einzelnen Methode Main, die ein String-Array als Argument verwendet. Main ist der Einstiegspunkt der Anwendung, die Methode, die automatisch von der Laufzeit aufgerufen wird, wenn diese die Anwendung startet. Alle Befehlszeilenargumente, die beim Start der Anwendung bereitgestellt werden, sind im args-Array verfügbar.

    In der neuesten Version von C# können Sie mit einem neuen Feature namens Anweisungen der obersten Ebene die Program-Klasse und die Main-Methode auslassen. Die meisten vorhandenen C#-Programme verwenden keine Anweisungen der obersten Ebene, daher wird dieses neue Feature in diesem Tutorial nicht verwendet. Es ist jedoch in C# 10 verfügbar, und ob Sie es in Ihren Programmen verwenden, ist eine Frage der Präferenz. In dem dotnet new-Befehl, den Sie zum Erstellen des Projekts verwendet haben, verhinderte die --use-program-main-Option die Verwendung von Anweisungen der obersten Ebene.

Ausführen der App

Führen Sie die folgenden Befehle im Terminal aus:

dotnet run

Das Programm zeigt „Hello World!“ an, und wird beendet.

The dotnet run command

Optimieren der App

Erweitern Sie die Anwendung, um den Benutzer aufzufordern, seinen Namen einzugeben und diesen zusammen mit dem Datum und der Uhrzeit anzuzeigen.

  1. Öffnen Sie Program.cs.

  2. Ersetzen Sie den Inhalt der Main-Methode in Program.cs, der aus der Zeile besteht, die Console.WriteLine aufruft, durch den folgenden Code:

    Console.WriteLine("What is your name?");
    var name = Console.ReadLine();
    var currentDate = DateTime.Now;
    Console.WriteLine($"{Environment.NewLine}Hello, {name}, on {currentDate:d} at {currentDate:t}!");
    Console.Write($"{Environment.NewLine}Press any key to exit...");
    Console.ReadKey(true);
    

    Mit diesem Code wird eine Eingabeaufforderung im Konsolenfenster angezeigt und gewartet, bis der Benutzer eine Zeichenfolge eingibt und die EINGABETASTE drückt. Der Code speichert diese Zeichenfolge in einer Variablen namens name. Er ruft auch den Wert der DateTime.Now Eigenschaft ab, der die aktuelle lokale Uhrzeit enthält, und weist den Wert einer Variablen namens currentDate zu. Außerdem werden diese Werte im Konsolenfenster angezeigt. Schließlich wird eine Eingabeaufforderung im Konsolenfenster angezeigt, und die Console.ReadKey(Boolean)-Methode wird aufgerufen, um auf eine Benutzereingabe zu warten.

    NewLine ist eine plattform- und sprachunabhängige Möglichkeit, einen Zeilenumbruch darzustellen. Alternativen sind \n in C# und vbCrLf in Visual Basic.

    Mit dem Dollarzeichen ($) vor einer Zeichenfolge können Sie Ausdrücke wie Variablennamen in geschweifte Klammern in der Zeichenfolge einschließen. Der Ausdruckswert wird anstelle des Ausdrucks in die Zeichenfolge eingefügt. Diese Syntax wird als interpolierte Zeichenfolgen bezeichnet.

  3. Speichern Sie die Änderungen.

    Wichtig

    In Visual Studio Code müssen Sie Änderungen explizit speichern. Im Gegensatz zu Visual Studio werden Dateiänderungen nicht automatisch gespeichert, wenn Sie eine App erstellen und ausführen.

  4. Führen Sie das Programm erneut aus:

    dotnet run
    
  5. Reagieren Sie auf die Eingabeaufforderung, indem Sie einen Namen eingeben und die EINGABETASTE drücken.

    Terminal window with modified program output

  6. Drücken Sie eine beliebige Taste, um das Programm zu beenden.

Zusätzliche Ressourcen

Nächste Schritte

In diesem Tutorial haben Sie eine .NET-Konsolenanwendung erstellt. Im nächsten Tutorial debuggen Sie die App.