Qu'est-ce que l'opérateur de coalescence nulle en C #

Qu Est Ce Que L Operateur De Coalescence Nulle En C



C# est un langage de programmation largement utilisé conçu pour créer des applications efficaces et robustes pour diverses plates-formes. Le langage possède de nombreuses fonctionnalités avancées, y compris la opérateur de coalescence nul , qui aide à simplifier le code complexe en fournissant une syntaxe compacte pour gérer les valeurs nulles. Cet opérateur est devenu populaire parmi les développeurs à la recherche d'une méthode simple pour gérer nul valeurs dans leurs projets.

Cet article détaillera la opérateur de coalescence nul .







Qu'est-ce qu'un opérateur de coalescence nulle en C #

En C#, le symbole de la opérateur de coalescence nul est ?? . Si une variable est nulle, elle est utilisée pour lui donner une valeur par défaut.



Par exemple, si nous avons une variable X qui peut être nul et nous voulons lui attribuer une valeur par défaut de 10 s'il est nul, nous pouvons utiliser le opérateur de coalescence nul comme suit:



entier y = x ?? dix





Cette instruction attribuera la valeur de dix à y si x est nul, sinon, il prendra la valeur de x.

Il renverra la valeur de l'opérande gauche s'il n'est pas nul. L'opérande droitier est examiné et le résultat est renvoyé s'il est nul. Alternativement, si l'opérande de gauche est évalué comme non nul, il n'évalue pas son opérande de droite.



La manière traditionnelle d'écrire le code sans le opérateur de coalescence nul est:

si ( le résultat est nul )

retour Nouvelle liste < Personne > ( ) ;

retour résultat;

Nous pouvons condenser cela en une seule ligne contenant à la fois la valeur par défaut non nulle et la vérification nulle à l'aide de la opérateur de coalescence nul :

retour résultat ?? Nouvelle liste < Personne > ( ) ;

Quelques points importants à retenir sur opérateur de coalescence nul sont:

  • Une variable doit être l'opérande de gauche du ?? opérateur.
  • L'opérande de gauche de l'opérateur ??= ne peut pas être un type non nullable.
  • L'opérateur de fusion nulle ne peut pas être surchargé.
  • L'opérateur de coalescence nulle est associatif à droite. Cela signifie qu'une expression telle que a ??= b ??= c sera évaluée comme a ??= (b ??= c).

Utilisations de l'opérateur de coalescence nulle

Les usages de la opérateur de coalescence nul sont:

1 : Fournir des valeurs par défaut

Lorsque vous travaillez avec des types nullables, si la valeur est null, vous pouvez utiliser le opérateur de coalescence nul pour fournir une valeur par défaut au lieu de lever une exception.

utiliser le système ;

Programme de classe publique
{
vide statique public principal ( )
{
int? nullableValue = null;
valeur int = nullableValue ?? dix ;
Console.WriteLineConsole.WriteLine ( 'La valeur est : ' + valeur ) ;
}
}

Dans l'exemple ci-dessus, nous définissons l'entier valeur nullable variable et donnez-lui la valeur zéro. Le opérateur de coalescence nul est ensuite utilisé pour fournir à la variable value une valeur par défaut de 10 si nullableValue est null. Ensuite, la valeur s'affiche sur la console.

2 : Éviter les exceptions de référence nulle

Les valeurs nulles peuvent entraîner des exceptions de référence nulles lors de l'utilisation de structures de données sophistiquées telles que des objets et des tableaux. Ces exceptions peuvent être évitées en utilisant le opérateur de coalescence nul , qui fournit des valeurs par défaut.

utiliser le système ;

classe publique maclasse
{
nom de chaîne publique { obtenir; ensemble ; }
identifiant public int { obtenir; ensemble ; }
}
Programme de classe publique
{
vide statique public principal ( )
{
myClass personne = null;
nom de chaîne = personne?.Nom ?? 'Inconnu' ;
entier identifiant = personne?.ID ?? 0 ;
Console.WriteLineConsole.WriteLine ( 'Nom: ' + nom ) ;
Console.WriteLineConsole.WriteLine ( 'IDENTIFIANT: ' + identifiant ) ;
}
}

Nom et IDENTIFIANT sont des attributs de la Ma classe classe dans le code ci-dessus. Afin d'accéder en toute sécurité au Nom et IDENTIFIANT propriétés de l'objet personne et fournir des valeurs par défaut si elles sont nulles, il définit une variable personne sur null, puis utilise l'opérateur conditionnel nul (?.) et le opérateur de coalescence nul (??). Ensuite, la console est imprimée avec les valeurs name et id.

3 : Suppression des conditions if-else redondantes

Vous pouvez également utiliser l'opérateur de coalescence nul pour rendre votre code plus concis et lisible en supprimant le besoin de redondance condition if-else .

Par exemple:

utiliser le système ;

espace de noms Exemple
{
classe maclasse
{
vide statique principal ( chaîne [ ] arguments )
{
int? nullableValue = null;
valeur entière ;
si ( valeur nullable ! = nul )
{
valeur = nullableValue.Value ;
}
autre
{
valeur = dix ;
}
Console.WriteLineConsole.WriteLine ( 'La valeur est : ' + valeur ) ;
}
}
}

Dans le code ci-dessus, l'opérateur de coalescence nul ?? est utilisé pour attribuer la valeur de valeur nullable évaluer. Si valeur nullable n'est pas nul, alors la valeur aura la même valeur que valeur nullable . Si valeur nullable est nul, alors la valeur aura la valeur de 10. Le sinon condition n'est plus requise, et le code est maintenant plus court et plus facile à comprendre.

Conclusion

Le opérateur de coalescence nul en C# est une fonctionnalité puissante qui simplifie la façon dont les développeurs gèrent les valeurs nulles dans leurs projets. Cet opérateur fournit une syntaxe compacte, efficace et flexible pour affecter des valeurs par défaut aux variables qui peuvent être nulles. En utilisant le opérateur de coalescence nul , les développeurs peuvent écrire un code plus lisible, maintenable et efficace, économisant ainsi du temps et des efforts dans le processus de développement.