Opérateurs logiques conditionnels
Fait partie de la section Logique & Flux du Journey C# de Coddy — leçon 37 sur 66.
Les opérateurs logiques conditionnels en C# permettent de combiner des conditions avec des comportements spéciaux. Les deux principaux opérateurs logiques conditionnels sont ?? (opérateur de coalescence null) et ?. (opérateur conditionnel null).
Explorons d'abord l'opérateur de coalescence nulle (??). Cet opérateur retourne l'opérande de gauche s'il n'est pas nul, sinon il retourne l'opérande de droite.
Créez une variable de chaîne qui peut être nulle :
string name = null;Utilisez l'opérateur de coalescence nulle pour fournir une valeur par défaut :
string displayName = name ?? "Guest";Après l'exécution du code ci-dessus, la variable displayName contient :
"Guest"Si name avait une valeur, cette valeur serait utilisée à la place :
string name = "Alice";
string displayName = name ?? "Guest";Maintenant displayName contient :
"Alice"Défi
FacileCréez une méthode nommée getSafeValue qui prend deux arguments :
- Un entier nullable (
int?value) - Un entier (
intdefaultValue)
La méthode doit retourner value si elle n’est pas null, sinon elle doit retourner defaultValue. Utilisez l’opérateur de coalescence null (??) pour y parvenir.
Aide-mémoire
L'opérateur de coalescence nulle (??) renvoie l'opérande de gauche s'il n'est pas null, sinon il renvoie l'opérande de droite :
string name = null;
string displayName = name ?? "Guest"; // Returns "Guest"string name = "Alice";
string displayName = name ?? "Guest"; // Returns "Alice"L'opérateur conditionnel null (?.) permet un accès sûr aux membres d'un objet qui pourrait être null.
Essayez vous-même
using System;
class GetSafeValue
{
public static int getSafeValue(int? value, int defaultValue)
{
// Écrivez votre code ici
}
}Cette leçon comprend un petit quiz. Commencez la leçon pour y répondre et suivre votre progression.
Toutes les leçons de Logique & Flux
1Tableaux multidimensionnels
Bases des tableaux 2DDéclaration et initialisation en 2DAccès aux éléments d'un tableau 2DBoucles imbriquées et tableaux 2DTableaux irréguliersOpérations matricielles courantesRécapitulatif - Multidimensionnel4Techniques de contrôle de flux
Retours anticipésClauses de gardeInstructions de saut (goto)Break et ContinueAplatir les conditionnelles imbriquées7Opérateurs logiques avancés
Évaluation court-circuitOpérateurs logiques conditionnelsPriorité des opérateursRécapitulatif - Opérateurs avancés2Prise de décision avancée
Conditions multiplesLogique booléenne complexeComparaison If vs SwitchInstructions Switch imbriquéesRécapitulatif - Décisions avancées5Gestion des exceptions
Bases du Try-CatchTypes d'exceptionsBlocs Catch multiplesManipulation de fichiersLe bloc FinallyUsing vs Try-FinallyExceptions personnaliséesRécapitulatif - Gestion des erreurs3Améliorations des boucles
Performance des bouclesItération de structures complexesChaque type de boucleRefactorisation des bouclesRécapitulatif - Boucles optimisées6Gestion des valeurs nulles
Les bases des références nullesTypes valeur nullablesPatterns de vérification de nullitéProgrammation défensiveRécapitulatif - Null Safety