Nullable-Wertetypen kennenlernen
Deklarieren Sie int?, double? und verstehen Sie Nullable .
Nullable-Wertetypen kennenlernen 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.
Werttypen können nicht null sein
Normalerweise enthält ein int immer eine Zahl und kann niemals null sein. Manchmal müssen Sie jedoch „kein Wert“ darstellen, etwa bei einer fehlenden Messung.
using System;
class Program {
static void Main() {
int count = 0;
Console.WriteLine(count);
}
}Nullable mit ?
Fügen Sie nach einem Werttyp ein ? ein, um ihn nullable zu machen. int? kann jeden int-Wert oder null enthalten.
using System;
class Program {
static void Main() {
int? maybe = null;
Console.WriteLine(maybe.HasValue);
maybe = 42;
Console.WriteLine(maybe);
}
}Weitere Nullable-Typen
Jeder Werttyp kann nullable sein: double?, bool?, DateTime? und viele weitere.
using System;
class Program {
static void Main() {
double? temp = null;
bool? flag = true;
Console.WriteLine(temp.HasValue + " " + flag);
}
}Nullable<T> ausgeschrieben
int? ist lediglich eine Kurzform für das Struct Nullable<int>. Beide werden exakt in denselben Typ kompiliert.
using System;
class Program {
static void Main() {
Nullable<int> a = 10;
int? b = 10;
Console.WriteLine(a == b);
}
}Null zuweisen
Sie können einer nullable Variablen problemlos null zuweisen und ihr später wieder einen echten Wert zuweisen.
using System;
class Program {
static void Main() {
int? id = 100;
Console.WriteLine(id);
id = null;
Console.WriteLine(id.HasValue);
}
}Ein nullbares Nullable ausgeben
Die Ausgabe eines Nullable-Werts, der null ist, erzeugt eine leere Zeichenfolge und nicht das Wort null.
using System;
class Program {
static void Main() {
int? value = null;
Console.WriteLine("[" + value + "]");
}
}Implizite Konvertierung in einen Nullable-Typ
Ein gewöhnlicher int wird automatisch in int? konvertiert, weil jeder int-Wert ein gültiger nullable int ist.
using System;
class Program {
static void Main() {
int x = 7;
int? y = x;
Console.WriteLine(y);
}
}Nullable-Typen als Methodenergebnisse
Eine Methode kann einen nullable Typ zurückgeben, um zwischen „Wert gefunden“ und „nichts gefunden“ zu unterscheiden.
using System;
class Program {
static int? FindEven(int[] nums) {
foreach (int n in nums)
if (n % 2 == 0) return n;
return null;
}
static void Main() {
Console.WriteLine(FindEven(new[] {1, 3, 4}));
}
}Nullable-Werte vergleichen
Die Gleichheit funktioniert wie erwartet: Zwei Nullable-Werte sind gleich, wenn beide null sind oder denselben Wert enthalten.
using System;
class Program {
static void Main() {
int? a = null;
int? b = null;
Console.WriteLine(a == b);
int? c = 5;
Console.WriteLine(c == 5);
}
}Warum Nullable-Typen verwenden
Nullable-Werttypen bilden optionale Daten sauber ab, etwa eine Datenbankspalte, die NULL zulässt, oder ein Feld, das ein Benutzer leer gelassen hat.
using System;
class Program {
static void Main() {
int? userAge = null;
string msg = userAge.HasValue ? "Age set" : "Age unknown";
Console.WriteLine(msg);
}
}Nullable ist ein Struct
Nullable<T> selbst ist ein Werttyp. Eine nullable Variable ist daher niemals eine Referenz, auch wenn sie null sein kann.
using System;
class Program {
static void Main() {
int? n = 3;
Console.WriteLine(n.GetType().Name);
}
}Kurztest
Testen Sie Ihr Verständnis von nullable Werttypen.
Zusammenfassung
Werttypen wie int können standardmäßig nicht null sein. Durch das Hinzufügen von ? entsteht ein nullable Typ (int?), der eine Kurzform für Nullable<T> ist.
Nullable-Typen ermöglichen die Darstellung fehlender oder optionaler Daten, werden implizit aus dem zugrunde liegenden Typ konvertiert und sind selbst Structs.
Häufig gestellte Fragen
Ist die Lektion „Nullable-Wertetypen kennenlernen“ kostenlos?
Ja — der vollständige Text von „Nullable-Wertetypen kennenlernen“ 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 „Nullable-Wertetypen kennenlernen“?
Deklarieren Sie int?, double? und verstehen Sie Nullable . 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 „Nullable-Wertetypen kennenlernen“?
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
- Nullable-Wertetypen kennenlernen
- HasValue- und Value-Eigenschaften
- Null-Koaleszenzoperatoren
- Nullable-Werte in Berechnungen