Typinferenz lokaler Variablen mit var
Verwenden Sie var, wenn der Typ offensichtlich ist.
Typinferenz lokaler Variablen mit var ist eine kostenlose C# Academy-Lektion auf CoddyKit. Dies ist Lektion 1 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.
Was ist var?
var ermöglicht es dem Compiler, den Typ einer lokalen Variable aus dem Initialisierer abzuleiten. Die Variable bleibt zur Kompilierzeit stark typisiert.
using System;
class Program {
static void Main() {
var count = 10;
Console.WriteLine(count);
}
}var ist nicht dynamic
var wird zur Kompilierzeit aufgelöst. var x = 10 ist genau ein int und kann später keine Zeichenfolge enthalten.
using System;
class Program {
static void Main() {
var name = "Ada";
Console.WriteLine(name.GetType().Name);
}
}Typableitung aus Literalen
Der Compiler liest das Literal und wählt den Typ aus: 1 ist int, 1.5 ist double und "hi" ist string.
using System;
class Program {
static void Main() {
var a = 1;
var b = 1.5;
var c = "hi";
Console.WriteLine(a.GetType().Name + " " + b.GetType().Name + " " + c.GetType().Name);
}
}Initialisierer erforderlich
Da der Typ aus dem Initialisierer stammt, müssen var-Variablen bei ihrer Deklaration zugewiesen werden.
using System;
class Program {
static void Main() {
var total = 0;
for (int i = 1; i <= 4; i++) total += i;
Console.WriteLine(total);
}
}var bei offensichtlichen Typen
var ist besonders nützlich, wenn die rechte Seite den Typ bereits erkennen lässt, etwa bei einem Konstruktoraufruf. Dadurch vermeiden Sie Wiederholungen.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var list = new List<int> { 1, 2, 3 };
Console.WriteLine(list.Count);
}
}var bei Methodenergebnissen
Sie können var für Rückgabewerte verwenden, wenn der Methodenname den Typ eindeutig erkennen lässt.
using System;
class Program {
static int Square(int n) { return n * n; }
static void Main() {
var result = Square(6);
Console.WriteLine(result);
}
}var in foreach
var ist in foreach-Schleifen über Sammlungen mit bekannten Elementtypen praktisch.
using System;
class Program {
static void Main() {
var names = new[] { "Sam", "Lee" };
foreach (var n in names)
Console.WriteLine(n);
}
}Abgeleitete Arrays
Bei einem implizit typisierten Array new[] { ... } wird der Elementtyp aus den Werten abgeleitet.
using System;
class Program {
static void Main() {
var nums = new[] { 10, 20, 30 };
Console.WriteLine(nums.Length);
}
}var bleibt typsicher
Da der Typ festgelegt ist, führt die spätere Zuweisung eines falschen Typs zu einem Kompilierfehler, genau wie bei einer expliziten Deklaration.
using System;
class Program {
static void Main() {
var x = 5;
x = 10;
Console.WriteLine(x);
}
}var und anonyme Typen
var ist für anonyme Typen erforderlich, da diese keinen Namen haben, den Sie schreiben könnten.
using System;
class Program {
static void Main() {
var point = new { X = 3, Y = 4 };
Console.WriteLine(point.X + ", " + point.Y);
}
}Vorteil für die Lesbarkeit
Richtig eingesetzt reduziert var überflüssigen Code und hält Deklarationen übersichtlich, insbesondere bei langen generischen Typnamen.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
var scores = new Dictionary<string, int> { ["Ann"] = 90 };
Console.WriteLine(scores["Ann"]);
}
}Kurzer Test
Testen Sie Ihr Verständnis von var.
Zusammenfassung
var weist den Compiler an, den Typ einer lokalen Variable aus ihrem Initialisierer abzuleiten. Dadurch bleibt die Variable stark typisiert und zur Kompilierzeit unveränderlich typisiert, anders als bei dynamic.
Ein Initialisierer ist erforderlich, redundante Typnamen werden vermieden, und für anonyme Typen ist var vorgeschrieben. Die Lesbarkeit verbessert sich, wenn der Typ bereits offensichtlich ist.
Häufig gestellte Fragen
Ist die Lektion „Typinferenz lokaler Variablen mit var“ kostenlos?
Ja — der vollständige Text von „Typinferenz lokaler Variablen mit var“ 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 „Typinferenz lokaler Variablen mit var“?
Verwenden Sie var, wenn der Typ offensichtlich ist. 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 1 von 4.
Wie lange dauert die Lektion „Typinferenz lokaler Variablen mit var“?
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