Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Opérateur
L’opérateur is vérifie si le résultat d’une expression est compatible avec un type donné. Pour plus d’informations sur l’opérateur de test is de type, consultez la section opérateur de l’article sur les opérateurs de test de type et de cast . Vous pouvez également utiliser l’opérateur is pour faire correspondre une expression à un modèle, comme l’illustre l’exemple suivant :
static bool IsFirstFridayOfOctober(DateTime date) =>
date is { Month: 10, Day: <=7, DayOfWeek: DayOfWeek.Friday };
Dans l’exemple précédent, l’opérateur is correspond à une expression par rapport à un modèle de propriété avec des modèles constants et relationnels imbriqués.
La documentation de référence du langage C# décrit la version la plus récente du langage C#. Il contient également la documentation initiale des fonctionnalités dans les préversions publiques pour la prochaine version du langage.
La documentation identifie toute fonctionnalité introduite en premier dans les trois dernières versions de la langue ou dans les préversions publiques actuelles.
Conseil / Astuce
Pour savoir quand une fonctionnalité a été introduite en C#, consultez l’article sur l’historique des versions du langage C#.
L’opérateur is peut être utile dans les scénarios suivants :
Pour vérifier le type d’exécution d’une expression, comme l’illustre l’exemple suivant :
int i = 34; object iBoxed = i; int? jNullable = 42; if (iBoxed is int a && jNullable is int b) { Console.WriteLine(a + b); // output 76 }L’exemple précédent montre l’utilisation d’un modèle de déclaration.
Pour rechercher
null, comme l’illustre l’exemple suivant :if (input is null) { return; }Lorsque vous correspondez à une expression
null, le compilateur garantit qu’aucun opérateur surchargé ou==surchargé!=par l’utilisateur n’est appelé.Pour effectuer une vérification non null à l’aide d’un modèle de négation, comme l’illustre l’exemple suivant :
if (result is not null) { Console.WriteLine(result.ToString()); }Pour faire correspondre des éléments d’une liste ou d’un tableau à l’aide de modèles de liste. Le code suivant vérifie les tableaux pour les valeurs entières dans les positions attendues :
int[] empty = []; int[] one = [1]; int[] odd = [1, 3, 5]; int[] even = [2, 4, 6]; int[] fib = [1, 1, 2, 3, 5]; Console.WriteLine(odd is [1, _, 2, ..]); // false Console.WriteLine(fib is [1, _, 2, ..]); // true Console.WriteLine(fib is [_, 1, 2, 3, ..]); // true Console.WriteLine(fib is [.., 1, 2, 3, _ ]); // true Console.WriteLine(even is [2, _, 6]); // true Console.WriteLine(even is [2, .., 6]); // true Console.WriteLine(odd is [.., 3, 5]); // true Console.WriteLine(even is [.., 3, 5]); // false Console.WriteLine(fib is [.., 3, 5]); // true
Remarque
Pour obtenir la liste complète des modèles pris en charge par l’opérateur is , consultez Modèles.
Spécification du langage C#
Pour plus d’informations, consultez la section Opérateur de la spécification du langage C# et des critères correspondants.