Einstiegspunkt des Programms

Die Main-Methode

Einstiegspunkt des Programms

Jedes C#-Programm muss mindestens eine Klasse enthalten, die eine Methode mit dem Namen Main definiert. In den vorherigen Codebeispielen befindet sich diese Methode innerhalb der Klasse Program.

Bei neueren C#-Versionen brauchen Sie die Main-Methode nicht explizit zu schreiben: Der direkt im Dateibereich geschriebene Code stellt standardmäßig den Körper von Main dar.

  • Die Ausführung eines C#-Programms beginnt mit der ersten Codezeile innerhalb der Main-Methode.
  • Der Methodenname Main muss mit einem großen Buchstaben M anfangen.

Kürzeste gültige Schreibweise der Main-Methode:

static void Main( )
{
    Code-Anweisungen
}Code-Sprache: JavaScript (javascript)

Es darf weder keine Main-Methode geben, noch mehrere – es ist genau eine erforderlich.

Zur Demonstration erstellen wir mit Visual Studio 2022 ein .NET Framework-Projekt, das ausschließlich unter Windows läuft.

Wählen Sie die unten abgebildete Konsolenanwendungsvorlage aus.

Wählen Sie als Framework-Version die aktuelle stabile Version .NET 4.8.1 aus.

Der Standardinhalt der neu erstellten Datei Program.cs lautet wie folgt:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HelloDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
        }
    }
}
Code-Sprache: PHP (php)

Die Zeilen am Anfang importieren mehrere Namensräume, sodass wir die integrierten .NET-Klassen aus diesen Bereichen nutzen können.

Fügen Sie folgende einzelne Codezeile in die Main-Methode ein:

Console.WriteLine(„hello foxdevelop.com“);

Klicken Sie auf den grünen Dreieck-Button „Start“ am oberen Rand von Visual Studio, um das Programm auszuführen.

Die Laufzeit führt standardmäßig die erste Codezeile innerhalb von Main aus.

Kopieren Sie die Main-Methode und fügen Sie sie erneut ein – sofort erscheint ein Kompilierfehler.

Der Fehler entsteht, weil innerhalb eines einzigen Namensraums keine zwei gleichnamigen Methoden existieren dürfen. Wir erstellen daher zwei separate Namensräume, um dies zu testen.

Nun sind keine roten Wellenlinien mehr zu sehen, der Code scheint fehlerfrei – versuchen Sie trotzdem, das Projekt zu kompilieren.

Klicken Sie auf Start

Es tritt ein Build-Fehler auf, der im unteren Fenster „Error List“ angezeigt wird.

Falls das Error List-Fenster verborgen ist, aktivieren Sie es über die obere Menüleiste.

Die Fehlerliste zeigt Ihnen genau die Stelle an, an der der Code fehlerhaft ist.

Leerzeichen (Whitespace)

Als Leerzeichen bezeichnet man alle Zeichen, die keine sichtbare Ausgabe erzeugen. Der Compiler ignoriert sämtliche Leerzeichen im Quellcode; Entwickler nutzen sie, um den Code übersichtlich und leserlich zu strukturieren.
Häufig genutzte Leerzeichen-Typen:

  • Einzelnes Leerzeichen (Space)
  • Tabulator (Tab)
  • Zeilenumbruch (New line)
  • Wagenrücklauf (Carriage return)

Beispiel: Diese beiden Codeausschnitte sehen optisch völlig unterschiedlich aus, der Compiler behandelt sie jedoch identisch.

// Sauber eingerückte Version
Main()
{
    Console.WriteLine("Hi, there!");
}

// Kompakt zusammengeschriebene Version
Main(){Console.WriteLine("Hi, there!");}Code-Sprache: JavaScript (javascript)

Unten sehen Sie eine ordentlich formatierte Main-Methode:

        static void Main(string[] args)
        {
            Console.WriteLine("hello foxdevelop.com");
        }Code-Sprache: JavaScript (javascript)

Entfernen Sie alle Leerzeichen und schreiben Sie den Code kompakt in eine Zeile – das Programm kompiliert trotzdem ohne Probleme, für den Compiler gibt es keinen funktionalen Unterschied.

static void Main(string[] args){Console.WriteLine("hello foxdevelop.com");}Code-Sprache: JavaScript (javascript)

Anweisungen (Statements)

Die Syntax von C#-Anweisungen ähnelt stark der von C und C++. Dieser Abschnitt erläutert allgemeine Regeln für Anweisungen, spezielle Anweisungsarten werden später detailliert erklärt.
Eine Anweisung ist eine einzelne Zeile Quellcode, die Datentypen definiert oder das Programm anweist, eine bestimmte Aktion auszuführen.
Einfache Anweisungen müssen mit einem Semikolon ; abgeschlossen werden. Unten zwei aufeinanderfolgende einfache Anweisungen: Die erste deklariert eine Ganzzahlvariable var1 mit dem Wert 5, die zweite gibt den Variablenwert im Konsolenfenster aus.

int var1 = 5;
System.Console.WriteLine("The value of var1 is {0},welcome to foxdevelop.com", var1);Code-Sprache: JavaScript (javascript)

Das obige Main-Beispiel enthält zwei Anweisungen, alle vorherigen Beispiele nutzten nur eine. Die erste Codezeile erstellt eine Ganzzahlvariable namens var1 und speichert die Zahl 5 darin. Die zweite Zeile gibt Text auf der Konsole aus; {0} ist ein Platzhalter, der automatisch durch den Wert von var1 ersetzt wird.

Codeblöcke (Blocks)

Ein Codeblock besteht aus einem Paar geschwungener Klammern, das null oder mehrere Anweisungen umschließt. Aus syntaktischer Sicht wird der gesamte Block als eine einzelne Anweisung gewertet.

Umschließen Sie die beiden Anweisungen aus dem vorherigen Beispiel mit geschwungenen Klammern, um einen vollständigen Codeblock zu erstellen:

            {
                int var1 = 5;
                System.Console.WriteLine("The value of var1 is {0},welcome to foxdevelop.com", var1);
            }Code-Sprache: JavaScript (javascript)

Kernregeln für Codeblöcke:

  1. Wenn eine Syntax nur eine einzelne Anweisung erlaubt, Sie aber mehrere Arbeitsschritte benötigen, schließen Sie alle Anweisungen in einen Codeblock ein.
  2. Einige Sprachkonstrukte erzwingen die Nutzung eines Codeblocks und können nicht durch eine einzelne Anweisung ersetzt werden.
  3. Einfache Anweisungen enden mit einem Semikolon, aber ein Codeblock erhält kein Semikolon am Ende. Der Compiler akzeptiert zwar ein Semikolon nach der schließenden Klammer }, interpretiert es aber als leere Anweisung – dies gilt als schlechter Programmierstil.

Grafische Erklärung:

{
    int var2 = 5; // Jede einzelne Anweisung endet mit Semikolon
    System.Console.WriteLine("The value of var1 is {0}", var1); // Jede einzelne Anweisung endet mit Semikolon
} // Kein Semikolon nach der schließenden geschwungenen KlammerCode-Sprache: JavaScript (javascript)

Alle eigenständigen einfachen Anweisungen benötigen am Ende ein ;

Unten ein vollständiges Beispiel, das Sie kopieren und direkt ausführen können:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace HelloDemo
{
    internal class Program
    {
        static void Main(string[] args)
        {
            {
                int var1 = 5;
                System.Console.WriteLine("The value of var1 is {0},welcome to foxdevelop.com", var1);
            }; ; ; ;
        }
    }
}
Code-Sprache: PHP (php)

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert