Null Reference Basics
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
EinfachErstellen Sie eine Methode namens ProcessName, die einen String-Parameter namens name annimmt. Die Methode sollte:
- Überprü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)
Spickzettel
Eine null-Referenz stellt das Fehlen eines Objekts in C# dar.
Deklarieren Sie eine Referenztyp-Variable mit null:
string name = null;Das Verwenden von null-Referenzen ohne Überprüfung verursacht Laufzeitfehler:
string name = null;
// This will throw a NullReferenceException
int length = name.Length;Überprüfen Sie vor der Verwendung auf null:
string name = null;
if (name != null)
{
// Safe to use name here
int length = name.Length;
}Weisen Sie einen nicht-null-Wert zu, um die Verwendung sicher zu machen:
string name = null;
name = "John";
int length = name.Length; // length will be 4Probier 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
1Multi-dimensional Arrays
2D Arrays BasicsDeclaring and Initializing 2DAccessing 2D Array ElementsNested Loops with 2D ArraysJagged ArraysCommon Matrix OperationsRecap - Multi-dimensional4Flow Control Techniques
Early ReturnsGuard ClausesJump Statements (goto)Break and ContinueFlatten Nested Conditionals7Logical Operators Advanced
Short-Circuit EvaluationConditional Logical OperatorsOperator PrecedenceRecap - Advanced Operators2Advanced Decision Making
Multiple ConditionsComplex Boolean LogicIf vs. Switch ComparisonNested Switch StatementsRecap - Advanced Decisions5Exception Handling
Try-Catch BasicsException TypesMultiple Catch BlocksWorking with FilesFinally BlockUsing vs. Try-FinallyCustom ExceptionsRecap - Error Handling3Loop Enhancements
Loop PerformanceIterating ComplexEach Loop TypeRefactoring LoopsRecap - Optimized Loops6Null Handling
Null Reference BasicsNullable Value TypesNull Checking PatternsDefensive ProgrammingRecap - Null Safety