Grundlagen von Nullreferenzen
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 31 von 66.
In C# repräsentiert eine Null-Referenz das Fehlen eines Objekts. Das Verständnis, wie man mit Null-Werten arbeitet, ist essenziell für das Schreiben von robustem Code.
Deklarieren Sie eine Variable vom Referenztyp (wie string) ohne Zuweisung eines Werts:
string name = null;Die Variable 'name' enthält jetzt eine Null-Referenz, was bedeutet, dass sie auf kein Objekt im Speicher verweist.
Das Verwenden einer Nullreferenz ohne Überprüfung kann Laufzeitfehler verursachen:
string name = null;
// This will throw a NullReferenceException
int length = name.Length;Sie können prüfen, ob eine Referenz null ist, bevor Sie sie verwenden:
string name = null;
if (name != null)
{
// Hier ist es sicher, name zu verwenden
int length = name.Length;
}Sie können der Variable auch einen nicht-null-Wert zuweisen:
string name = null;
name = "John";
// Now it's safe to use name
int length = name.Length; // length will be 4Aufgabe
EinfachErstelle eine Methode namens ProcessName, die einen String-Parameter namens name entgegennimmt. Die Methode sollte:
- Prüfen, ob der Name null ist
- Wenn der Name null ist, ausgeben: "Name is null"
- Wenn der Name nicht null ist, ausgeben: "Name length is X" (wobei X die Länge des Namens ist)
Probier es selbst
using System;
class Program
{
public static void ProcessName(string name)
{
// Schreibe deinen Code hier
}
static void Main(string[] args)
{
string input = Console.ReadLine();
// Konvertiere den "null"-String zu einem echten null
string name = input.ToLower() == "null" ? null : input;
ProcessName(name);
}
}Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.
Alle Lektionen in Logik & Ablauf
1Mehrdimensionale Arrays
Grundlagen 2D-Arrays2D-Arrays deklarieren und initialisierenAuf Elemente von 2D-Arrays zugreifenVerschachtelte Schleifen mit 2D-ArraysGezackte ArraysHäufige MatrixoperationenZusammenfassung – Mehrdimensionale Arrays4Techniken zur Ablaufsteuerung
Frühe RückgabenWächterklauselnSprunganweisungen (goto)Break und ContinueVerschachtelte Bedingungen abflachen7Logische Operatoren – Fortgeschritten
KurzschlussauswertungBedingte logische OperatorenOperatorrangfolgeRückblick – Erweiterte Operatoren2Fortgeschrittene Entscheidungslogik
Mehrere BedingungenKomplexe boolesche LogikVergleich: If vs. SwitchVerschachtelte Switch-AnweisungenRückblick – Fortgeschrittene Entscheidungen5Fehlerbehandlung mit Exceptions
Grundlagen von Try-CatchException-TypenMehrere Catch-BlöckeArbeiten mit DateienFinally-BlockUsing im Vergleich zu Try-FinallyBenutzerdefinierte ExceptionsZusammenfassung – Fehlerbehandlung3Schleifenverbesserungen
SchleifenleistungKomplexe IterationJeder SchleifentypSchleifen refaktorierenRückblick – Optimierte Schleifen6Behandlung von Nullwerten
Grundlagen von NullreferenzenNullable WerttypenMuster zur NullprüfungDefensive ProgrammierungZusammenfassung – NullsicherheitÜbe selbstständig: Online-C#-Compiler