Deklaration implizit typisierter lokaler Variablen
Der C#-Compiler arbeitet im Hintergrund, um Sie beim Schreiben Ihres Codes zu unterstützen. So kann etwa der Datentyp der Variable anhand des initialisierten Werts abgeleitet werden. In dieser Lerneinheit lernen Sie diese Funktion kennen, die „implizit typisierte lokale Variablen“ genannt wird.
Was sind implizit typisierte lokale Variablen?
Eine implizit typisierte lokale Variable wird mithilfe des var
-Schlüsselworts gefolgt von einer Variableninitialisierung erstellt. Zum Beispiel:
var message = "Hello world!";
In diesem Beispiel wurde eine Zeichenfolgenvariable mit dem var
-Schlüsselwort anstelle des string
-Schlüsselworts erstellt.
Das var
-Schlüsselwort teilt dem C#-Compiler mit, dass der Datentyp durch den zugewiesenen Wert impliziert wird. Nachdem der Typ impliziert wurde, verhält sich die Variable genauso, als ob der eigentliche Datentyp bei ihrer Deklaration verwendet worden wäre. Das var
-Schlüsselwort wird verwendet, um Tastenanschläge zu speichern, wenn Typen lang sind oder der Typ aus dem Kontext ersichtlich ist.
Im Beispiel:
var message = "Hello world!";
Da die Variable message
sofort auf den string
-Wert "Hello World!"
festgelegt wird, behandelt der C# Compiler korrekterweise jede Instanz von message
als eine Instanz von Typ string
.
Die Variable message
wird als string
typisiert und kann nicht mehr geändert werden. Beachten Sie z. B. folgenden Code:
var message = "Hello World!";
message = 10.703m;
Wenn Sie den Code ausführen, wird die folgende Fehlermeldung angezeigt:
(2,11): error CS0029: Cannot implicitly convert type 'decimal' to 'string'
Hinweis
In anderen Programmiersprachen wird das Schlüsselwort var
anders verwendet. In C# wird Variablen vom Compiler ein Typ zugewiesen, unabhängig davon, ob Sie den tatsächlichen Datentypnamen verwenden oder dem Compiler erlauben, den Datentyp zu implizieren. Das bedeutet, dass der Datentyp zum Zeitpunkt der Deklaration gesperrt wird und nur noch Werte dieses Datentyps enthalten kann.
Variablen, die das Schlüsselwort var
verwenden, müssen initialisiert werden
Beachten Sie, dass das Schlüsselwort var
vom Wert abhängt, den Sie zum Initialisieren der Variable verwenden. Wenn Sie versuchen sollten, das Schlüsselwort var
ohne Initialisierung der Variable zu verwenden, wird beim Kompilieren des Codes eine Fehlermeldung angezeigt.
var message;
Wenn Sie diesen Code ausführen, wird beim Kompilieren die folgende Ausgabe angezeigt:
(1,5): error CS0818: Implicitly-typed variables must be initialized
Gründe für die Verwendung des Schlüsselworts var
Das Schlüsselwort var
ist in der C#-Community weit verbreitet. Wenn Sie sich ein Codebeispiel in einem Buch oder online ansehen, wird wahrscheinlich das Schlüsselwort var
anstelle des tatsächlichen Datentypnamens verwendet. Daher ist es wichtig, die Verwendung zu verstehen.
Das Schlüsselwort var
spielt eine weitere wichtige Rolle in C#. Häufig ist der Typ einer Variablen aus ihrer Initialisierung ersichtlich. In diesen Fällen ist es einfacher, das Schlüsselwort var
zu verwenden. Das Schlüsselwort var
kann auch bei der Planung des Codes für eine Anwendung nützlich sein. Wenn Sie mit der Entwicklung von Code für eine Aufgabe beginnen, wissen Sie möglicherweise nicht sofort, welcher Datentyp zu verwenden ist. Die Verwendung von var
kann Ihnen helfen, Ihre Lösung dynamischer zu entwickeln.
Zu Beginn wird empfohlen, beim Deklarieren von Variablen weiterhin den tatsächlichen Datentypnamen zu verwenden, bis Sie sich an die Arbeit mit Code gewöhnt haben. Durch die Verwendung des Datentyps beim Deklarieren von Variablen können Sie beim Schreiben des Codes zielgerichteter vorgehen.
Zusammenfassung
Das haben Sie bisher über das var
-Schlüsselwort gelernt:
- Das Schlüsselwort
var
weist den Compiler an, den Datentyp der Variable basierend auf dem Wert abzuleiten, den Sie beim Initialisieren der Variable verwendet haben. - Auch wenn Ihnen gelegentlich das Schlüsselwort
var
im Code anderer Personen begegnen wird, sollten Sie nach Möglichkeit den Datentyp verwenden.