ID a remarqué que cet opérateur is
produit les mêmes résultats et compile même la même chose (voir ce gist ) comme ==
Opérateur. Est-ce une utilisation correcte de l'opérateur is
donné que je ne peux voir que des choses liées aux essais de type d'exécution dans les documents?
bool test = false;
if(!test)
{
// some code
}
//OR
if(test is false)
{
// some code
}
Il est valide, car il fait partie de la fonctionnalité de correspondance des motifs. Mais comme @jon Skeet répondit déjà, il n'est pas conventionnel de l'utiliser pour vérifier l'égalité avec des variables Bool. En C # 9, son étui d'utilisation courante vérifie plusieurs conditions à la fois, comme
int x = Random.Next(50);
if (x is >5 and <17)
//do something
C'est le sucre syntaxique surtout.