Menu
Coddy logo textTech

Null Checking Patterns

Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy — Lektion 33 von 66.

Die Null-Überprüfung ist ein wesentlicher Bestandteil des Schreibens robuster C#-Code. Es gibt mehrere Muster, die Sie verwenden können, um Null-Werte sicher zu überprüfen.

Lassen Sie uns einige gängige Muster zur Nullprüfung erkunden:

Zuerst die grundlegende if-Null-Prüfung:

string name = null;

if (name == null)
{
    Console.WriteLine("Name is null");
}

Ein weiteres gängiges Muster ist der nullbedingte Operator (?.), der sicher auf Member potenziell nuller Objekte zugreift:

string name = null;
int? length = name?.Length;  // length wird null sein

Der Null-Koaleszenz-Operator (??) stellt einen Standardwert bereit, wenn ein Ausdruck null ist:

string name = null;
string displayName = name ?? "Unknown";  // displayName will be "Unknown"

Sie können diese Muster auch für komplexere Szenarien verketten:

string name = null;
int length = (name ?? "").Length;  // length will be 0

Die string.IsNullOrWhiteSpace()-Methode prüft, ob ein String null ist, leer oder nur Leerzeichen enthält. Sie ist eine bequeme Möglichkeit, String-Eingaben in einem einzigen Aufruf zu validieren:

string name = null;

if (string.IsNullOrWhiteSpace(name))
{
    Console.WriteLine("No name provided");  // this will print
}

string blank = "   ";

if (string.IsNullOrWhiteSpace(blank))
{
    Console.WriteLine("Blank name provided");  // this will also print
}

Verwenden Sie string.IsNullOrWhiteSpace(), wenn Sie null, leere Strings und nur Leerzeichen enthaltende Strings als gleichwertig ungültige Eingaben behandeln möchten.

challenge icon

Aufgabe

Einfach

Erstellen Sie eine Methode namens processUserName, die einen String-Parameter userName annimmt. Die Methode sollte:

  1. Wenn userName null ist, geben Sie "No user provided" zurück
  2. Wenn userName leer oder nur Leerzeichen ist, geben Sie "Invalid username" zurück
  3. Andernfalls geben Sie "Welcome, [userName]!" zurück, wobei [userName] der tatsächliche Benutzername ist

Vergessen Sie nicht, geeignete Null-Prüfungsmuster zu verwenden.

Spickzettel

Verwenden Sie == null für grundlegende Null-Überprüfungen:

if (name == null)
{
    Console.WriteLine("Name is null");
}

Verwenden Sie den nullbedingten Operator ?., um sicher auf Member zuzugreifen:

int? length = name?.Length;  // length will be null if name is null

Verwenden Sie den Null-Verkettungsoperator ??, um Standardwerte bereitzustellen:

string displayName = name ?? "Unknown";

Verwenden Sie string.IsNullOrWhiteSpace(), um auf null, leere oder nur Leerzeichen enthaltende Strings zu prüfen:

if (string.IsNullOrWhiteSpace(name))
{
    Console.WriteLine("Name is null, empty, or whitespace");
}

Operatoren für komplexe Szenarien verketten:

int length = (name ?? "").Length;  // length will be 0 if name is null

Probier es selbst

using System;

class ProcessUserName
{
    public static string processUserName(string userName)
    {
        // Schreibe deinen Code hier
    }
}
quiz iconTeste dich selbst

Diese Lektion enthält ein kurzes Quiz. Starte die Lektion, um es zu beantworten und deinen Fortschritt zu speichern.

Alle Lektionen in Logik & Ablauf