Freigeben über


Ein C#-Programm von innen (Visual C#)

Aktualisiert: November 2007

Damit Sie verstehen, wie ein C#-Programm arbeitet, untersuchen wir am besten das übliche "Hello World!"-Programm, wobei wir jede Zeile C#-Code einzeln betrachten. Falls Sie Ihre eigene Version dieses Programms erstellen möchten, finden Sie unter Gewusst wie: Erstellen einer C#-Konsolenanwendung eine schrittweise Anleitung, wie Sie eine ähnliche C#-Anwendung schreiben, erstellen und ausführen.

Hello World, C#-Format

C# verwendet Klassen zum Organisieren und Packen von Code. Tatsächlich muss der gesamte ausführbare C#-Code sogar in einem kurzen Programm wie "Hello World!" in einer Klasse enthalten sein. Im Folgenden finden Sie das vollständige Programm, das im Konsolenfenster "Hello World!" anzeigt.

// A Hello World! program in C#
using System;
namespace HelloWorld
{
    class Hello 
    {
        static void Main() 
        {
            System.Console.WriteLine("Hello World!");

            // Keep the console window open in debug mode.
            System.Console.WriteLine("Press any key to exit.");
            System.Console.ReadKey();
        }
    }
}

using-Direktiven und Namespaces

Wenn Sie eine Konsolenanwendung mit Visual C# Express Edition erstellen, enthalten die ersten Zeilen im Code-Editor using-Direktiven, die mehrere .NET Framework-Namespaces auflisten. Mit einem Namespace können Klassen und Strukturen in Gruppen zusammengefasst werden, um ihren Gültigkeitsbereich einzuschränken und Namenskonflikte mit anderen Klassen und Strukturen zu vermeiden. Wenn Sie ein Programm in Visual C# Express erstellen, wird automatisch ein Namespace erstellt. Um in einem Programm Klassen aus anderen Namespaces verwenden zu können, müssen Sie diese mit einer using-Direktive angeben. Beim Erstellen einer neuen Anwendung werden standardmäßig die am häufigsten verwendeten .NET Framework-Namespaces aufgelistet. Wenn Sie Klassen aus anderen Namespaces in der Klassenbibliothek verwenden, müssen Sie der Quelldatei eine using-Direktive für diesen Namespace hinzufügen. Weitere Informationen zu Namespaces finden Sie unter Namespaces (Visual C# Express).

Wenn der Code-Editor feststellt, dass Sie eine Klasse oder Struktur deklariert haben, die nicht in den in den aktuellen using-Direktiven aufgeführten Namespaces enthalten ist, schlägt er Namespaces vor, die die Klasse oder Struktur enthalten.

Kommentare

Die nächste Zeile nach den using-Anweisungen enthält einen Kommentar. Kommentare sind nützlich, damit Sie sich selbst oder anderen Programmierern Hinweise geben können.

// A Hello World! program in C#

Durch die Zeichen // wird die restliche Zeile in einen Kommentar konvertiert. Sie können auch einen Textblock als Kommentar einfügen, indem Sie ihn zwischen die Zeichen /* und */ setzen. Beispiel:

/* A "Hello World!" program in C#.
This program displays the string "Hello World!" on the screen. */

Sie können auch eine Formatierungsoption verwenden, um Code automatisch zu kommentieren. Weitere Informationen hierzu finden Sie unter Gewusst wie: Auskommentieren von Codezeilen (C# Express).

Klassen

Die Programmiersprache C# verwendet Klassen zum Packen von Code: Jeder ausführbare C#-Code muss in einer Klasse enthalten sein. Weitere Informationen finden Sie unter Klassen (Visual C# Express).

Main()

  • Das C#-Programm muss eine Main-Methode enthalten, in der die Steuerung beginnt und endet. Innerhalb der Main-Methode erstellen Sie Objekte und führen andere Methoden aus. Die Main-Methode ist eine static-Methode, die sich innerhalb einer Klasse oder Struktur befindet. Bei dem Beispiel "Hello World!" befindet sich diese Methode in der Program -Klasse.

Die Main-Methode kann auf eine der folgenden Weisen definiert werden:

  • Sie kann void zurückgeben:

    static void Main()
    {
        //...
    }
    
  • Sie kann außerdem int zurückgeben:

    static int Main()
    {
        //...
        return 0;
    }
    
  • Sie kann Argumente annehmen, die für Befehlszeilendienstprogramme nützlich sind:

    static void Main(string[] args)
    {
        //...
    }
    

    - oder -

    static int Main(string[] args)
    {
        //...
        return 0;
    }
    

Der Parameter der Main-Methode ist ein string-Array, das die Befehlszeilenargumente darstellt, die zum Aufrufen des Programms verwendet werden. Im Gegensatz zu C++ enthält dieses Array nicht den Namen der ausführbaren Datei (.exe). Weitere Informationen hierzu finden Sie unter Main() und Befehlszeilenargumente (C#-Programmierhandbuch).

Eingabe und Ausgabe über die Konsole

C#-Konsolenprogramme verwenden in der Regel die in der Console-Klasse von .NET Framework bereitgestellten Eingabe/Ausgabe-Dienste. Die Console.WriteLine("Hello, World!");-Anweisung verwendet die WriteLine-Methode. Im Befehlszeilenfenster zeigt sie ihren Zeichenfolgenparameter und eine neue Zeile an. Für andere Eingabe-/Ausgabeoperationen werden andere Console-Methoden angewendet. Die Console-Klasse ist ein Member des System-Namespaces. Falls die using System;-Anweisung am Anfang des Programms nicht eingeschlossen wurde, muss die System-Klasse wie folgt angegeben werden:

System.Console.WriteLine("Hello World!");

Die WriteLine-Methode ist sehr nützlich. Sie werden diese häufig verwenden, wenn Sie eine Konsolenanwendung schreiben.

WriteLine kann Zeichenfolgen anzeigen:

Console.WriteLine("Hello World!");

WriteLine kann auch Zahlen anzeigen:

int x = 42;
Console.WriteLine(x);

Falls Sie mehrere Elemente anzeigen müssen, verwenden Sie wie im folgenden Beispiel {0} für das erste Element, {1} für das zweite usw.:

int year = 1066;
string battle = "Battle of Hastings";
Console.WriteLine("The {0} took place in {1}.", battle, year);

Die Ausgabe sieht wie folgt aus:

The Battle of Hastings took place in 1066.

Siehe auch

Aufgaben

Gewusst wie: Erstellen einer C#-Konsolenanwendung

Konzepte

Einführung in C#