Vor- und Nachteile der implizierten Variablendeklaration var in C#

Was ist var? Das Schlüsselwort var wird in Variablendeklarationen anstelle eines Typs verwendet. Die technische Bezeichnung für var lautet: „implizit typisierte lokale Variablendeklaration“. Die Variable selbst ist nach wie vor statisch typisiert (der Typ wird beim Kompilieren des Codes festgelegt) und stark typisiert (der Typ kann nach seiner Deklaration nicht mehr verändert werden). Der Unterschied besteht darin, dass der Typ der Variable nicht mehr explizit im Quellcode angegeben wird. Stattdessen leitet der Compiler den Typ der Variablen je nach der Initialisierung für die Variable ab. Zum Beispiel:


In diesem Beispiel wird der maxValue mit einem Typ System.Int32 kompiliert, der customerFirstName ist ein System.String und stopwatch ist System.Timers.Timer. Falls es nicht klar sein sollte: Bei Verwendung von var zur Deklaration einer Variablen ist eine Initialisierung in der Deklaration zwingend erforderlich. Für diese Initialisierung gelten unter anderem folgende Einschränkungen:

  • Es muss sich um einen Ausdruck handeln, der einen Wert mit einem Typ zurückgibt; anonyme Funktionsdeklarationen (wie Lambdas) sind beispielsweise nicht gültig, aber Literals und Objektkonstruktoren sind zulässig.
  • ein Null-Typ darf nicht ausgegeben werden.
  • Ein Verweis auf die deklarierte Variable ist nicht möglich.
  • Nur eine Deklaration pro Anweisung ist zulässig; mehrere Deklarationen sind nicht erlaubt.

Mehr Details hierzu findet man unter Punkt 8.5.1 der Sprachspezifikation C# 3.0 (DOC-Format).

Page: 1 2

ZDNet.de Redaktion

Recent Posts

Black Friday: Vorsicht vor schädlichen QR-Codes

Bösartige QR-Codes, die per E-Mail versendet werden, eignen sich sehr gut, um Spam-Filter zu umgehen.

6 Stunden ago

Black Friday: Zahl der ominösen Shopping-Websites steigt

Unsichere Websites und Phishing-Mails in Verbindung mit Black Friday können kauffreudigen Konsumenten zum Verhängnis werden.

6 Stunden ago

SmokeBuster bekämpft SmokeLoader

Malware SmokeLoader wird weiterhin von Bedrohungsakteuren genutzt, um Payloads über neue C2-Infrastrukturen zu verbreiten.

13 Stunden ago

Taugen Kryptowährungen als Unterstützer der Energiewende?

Bankhaus Metzler und Telekom-Tochter MMS testen, inwieweit Bitcoin-Miner das deutsche Stromnetz stabilisieren könnten.

1 Tag ago

Supercomputer-Ranking: El Capitan überholt Frontier und Aurora

Mit 1,7 Exaflops ist El Capitan nun der dritte Exascale-Supercomputer weltweit. Deutschland stellt erneut den…

1 Tag ago

Ionos führt neue AMD-Prozessoren ein

Der deutsche Hyperscaler erweitert sein Server-Portfolio um vier Angebote mit den neuen AMD EPYC 4004…

1 Tag ago