Wann Sie var vermeiden sollten
Halten Sie den Code lesbar, indem Sie bei Bedarf den Typ explizit angeben.
Wann Sie var vermeiden sollten ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des C# Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
var kann den Typ verbergen
var ist praktisch, kann aber verschleiern, welchen Typ eine Variable tatsächlich hat, und dadurch die Lesbarkeit für die nächste lesende Person beeinträchtigen.
using System;
class Program {
static void Main() {
var x = Compute();
Console.WriteLine(x);
}
static int Compute() { return 42; }
}Unklare Methodenergebnisse
Wenn ein Methodenname den Rückgabetyp nicht erkennen lässt, sollten Sie einen expliziten Typ bevorzugen, damit Leserinnen und Leser wissen, welchen Typ sie vor sich haben.
using System;
class Program {
static double Process() { return 3.14; }
static void Main() {
double value = Process();
Console.WriteLine(value);
}
}Überraschungen bei Zahlentypen
var sum = 0 ist ein int. Wenn Sie einen double erwarten, kann dies zu Fehlern durch Ganzzahldivision führen.
using System;
class Program {
static void Main() {
double sum = 0;
sum += 7 / 2.0;
Console.WriteLine(sum);
}
}Bei Interfaces explizit sein
Wenn Sie gegen ein Interface programmieren möchten, deklarieren Sie es explizit. var würde stattdessen den konkreten Typ auswählen.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
IList<int> items = new List<int> { 1, 2 };
Console.WriteLine(items.Count);
}
}Weit entfernte Initialisierer
Wenn der Initialisierer ein langer oder verschachtelter Ausdruck ist, dokumentiert ein expliziter Typ die Absicht besser als var.
using System;
class Program {
static void Main() {
int finalScore = (10 + 5) * 2 - 3;
Console.WriteLine(finalScore);
}
}Für Klarheit bei primitiven Typen vermeiden
Viele Teams schreiben bei einfachen primitiven Typen den expliziten Typ aus, damit die beabsichtigte Zahlenart unmissverständlich ist.
using System;
class Program {
static void Main() {
long bigCount = 5000000000;
Console.WriteLine(bigCount);
}
}var kann kein Feld sein
var ist nur für lokale Variablen gedacht. Felder, Parameter und Rückgabetypen müssen immer explizit angegeben werden.
using System;
class Program {
static int field = 100;
static void Main() {
Console.WriteLine(field);
}
}Gemischte numerische Typableitung
Seien Sie vorsichtig: var avg = total / count mit zwei Ganzzahlen bleibt ein int. Machen Sie die Absicht explizit, wenn Sie Dezimalstellen benötigen.
using System;
class Program {
static void Main() {
int total = 7, count = 2;
double avg = (double)total / count;
Console.WriteLine(avg);
}
}Wenn sich Stilrichtlinien unterscheiden
Manche Richtlinien besagen: „Verwenden Sie var nur, wenn der Typ auf der rechten Seite offensichtlich ist.“ Eine einheitliche Regel hilft dem gesamten Team.
using System;
class Program {
static void Main() {
var customer = new string("Ann"[0], 3);
Console.WriteLine(customer);
}
}Komfort und Klarheit ausbalancieren
Das Ziel ist gut lesbarer Code. Verwenden Sie var, wenn es hilfreich ist, und explizite Typen, wenn sie für Klarheit sorgen.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var lookup = new Dictionary<int, string>();
int key = 1;
lookup[key] = "one";
Console.WriteLine(lookup[1]);
}
}Eine praktische Faustregel
Wenn Sie den Typ nicht allein beim Lesen der Zeile erkennen können, schreiben Sie ihn aus. Andernfalls ist var in Ordnung.
using System;
class Program {
static void Main() {
var greeting = "Hello";
decimal price = 19.99m;
Console.WriteLine(greeting + " " + price);
}
}Kurzer Test
Testen Sie Ihr Urteilsvermögen dazu, wann Sie var vermeiden sollten.
Zusammenfassung
Vermeiden Sie var, wenn dadurch ein wichtiger Typ verborgen wird, wenn die Zahlenart eine Rolle spielt (int oder double), wenn Sie gegen ein Interface programmieren möchten oder wenn ein Methodenname den Rückgabetyp nicht erkennen lässt.
var funktioniert nur für lokale Variablen. Eine gute Regel lautet: Wenn die Zeile allein den Typ nicht erkennen lässt, geben Sie ihn explizit an.
Häufig gestellte Fragen
Ist die Lektion „Wann Sie var vermeiden sollten“ kostenlos?
Ja — der vollständige Text von „Wann Sie var vermeiden sollten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des C# Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der C# Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Wann Sie var vermeiden sollten“?
Halten Sie den Code lesbar, indem Sie bei Bedarf den Typ explizit angeben. Du übst C# Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um C# Academy zu starten?
Keine Vorkenntnisse erforderlich. C# Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.
Wie lange dauert die Lektion „Wann Sie var vermeiden sollten“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser C# Academy-Lektion Code schreiben und ausführen?
Ja. Jede C# Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Typinferenz lokaler Variablen mit var
- Wann Sie var vermeiden sollten
- Der Typ dynamic
- Zieltypgesteuerte new-Ausdrücke