Bedingte logische Operatoren
Teil des Abschnitts Logik & Ablauf der C#-Journey von Coddy. Lektion 37 von 66.
C# stellt spezielle Operatoren bereit, um prägnant mit Nullwerten zu arbeiten. Zwei nützliche Operatoren sind ?? (der Null-Koaleszenzoperator) und ?. (der Null-bedingte Operator). Beachte, dass es sich hierbei um Operatoren zur Nullwertbehandlung handelt: Der Begriff „bedingte logische Operatoren“ in C# bezieht sich auf && und ||.
Sehen wir uns zunächst den Null-Koaleszenz-Operator (??) an. Dieser Operator gibt den linken Operanden zurück, wenn er nicht null ist, andernfalls gibt er den rechten Operanden zurück.
Erstelle eine Stringvariable, die null sein könnte:
string name = null;Verwende den Null-Koaleszenzoperator, um einen Standardwert bereitzustellen:
string displayName = name ?? "Guest";Nach der Ausführung des obigen Codes enthält die Variable displayName:
"Guest"Wenn name einen Wert hätte, würde stattdessen dieser Wert verwendet:
string name = "Alice";
string displayName = name ?? "Guest";Jetzt enthält displayName:
"Alice"Aufgabe
EinfachErstelle eine Methode namens getSafeValue, die zwei Argumente entgegennimmt:
- Eine nullable Ganzzahl (
int?value) - Eine Ganzzahl (
intdefaultValue)
Die Methode soll den Wert zurückgeben, wenn er nicht null ist; andernfalls soll sie defaultValue zurückgeben. Verwende dafür den Null-Koaleszenzoperator (??).
Probier es selbst
using System;
class GetSafeValue
{
public static int getSafeValue(int? value, int defaultValue)
{
// Schreibe deinen Code hier
}
}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