Case |
Cas |
---|---|
Visual Basic .NET (VB .NET) |
Syntaxe
Select Case testexpression [ Case expressionlist [ statements ] ] [ Case Else [ elsestatements ] ] End Select |
Paramètres
Nom | Description | |
---|---|---|
testexpression | Ce paramètre permet d'indiquer une expression obligatoire devant évaluer l'un des types de données élémentaires suivant : Boolean, Byte, Char, Date, Double, Decimal, Integer, Long, Object, SByte, Short, Single, String, UInteger, ULong ou UShort. | |
expressionlist | Ce paramètre permet d'indiquer une déclaration de cas. Ce paramètre est obligatoire. Liste des clauses d'expression représentant les valeurs de correspondance pour testexpression. Les clauses d'expression multiples sont séparées par des virgules. Chaque clause peut prendre l'une des formes suivantes :
Utilisez le mot clef To pour spécifier les limites d'une plage de valeurs de correspondance pour testexpression. La valeur de expression1 doit être inférieure ou égale à la valeur de expression2. Utilisez le mot clef Is avec un opérateur de comparaison (=, <>, <, <=, > ou >=) pour spécifier une restriction sur les valeurs de correspondance pour testexpression. Si le mot clef Is n'est pas fourni, il est automatiquement inséré avant l'opérateur de comparaison. La forme spécifiant uniquement l'expression est traitée comme un cas particulier de la forme Is où l'opérateur de comparaison est le signe égal (=). Cette forme est évaluée comme testexpression = expression. Les expressions dans expressionlist peuvent être de n'importe quel type de données, à condition qu'elles soient implicitement convertibles en type de testexpression et que l'opérateur de comparaison approprié soit valide pour les deux types avec lesquels il est utilisé. |
|
statements | Ce paramètre permet d'indiquer une ou plusieurs instructions après Case s'exécutant si testexpression correspond à une clause de la liste d'expressions. | |
elsestatements | Ce paramètre permet d'indiquer une ou plusieurs instructions après Case Else s'exécutant si testexpression ne correspond à aucune clause de la liste d'expressions de l'une des instructions Case. | |
End Select | Ce paramètre permet de terminer la définition de la construction Select...Case. |
Description
Ce mot réservé permet d'indiquer d'un cas d'une évaluation.
Remarques
- Si testexpression correspond à une clause «Case expressionlist», les instructions suivant cette instruction Case s'exécutent jusqu'à l'instruction Case, Case Else ou End Select suivante. Le contrôle passe ensuite à l'instruction suivant End Select. Si testexpression correspond à une clause expressionlist dans plusieurs clauses Case, seules les instructions suivant la première correspondance s'exécutent.
- L'instruction Case Else est utilisée pour introduire les instructions else à exécuter si aucune correspondance n'est trouvée entre le testexpression et une clause expressionlist dans l'une des autres instructions Case. Bien que cela ne soit pas obligatoire, il est conseillé d'avoir une instruction Case Else dans votre construction Select Case pour gérer les valeurs d'expression de test imprévues. Si aucune clause «Case expressionlist» ne correspond à testexpression et qu'il n'y a pas d'instruction Case Else, le contrôle passe à l'instruction suivant End Select.
- Vous pouvez utiliser plusieurs expressions ou intervalles dans chaque clause Case.
- Le mot clef Is utilisé dans les instructions Case et Case Else n'est pas le même que l'opérateur Is, étant utilisé pour la comparaison des références d'objet.
- Une instruction Case avec plusieurs clauses peut présenter un comportement appelé court-circuit. Le Visual Basic .NET évalue les clauses de gauche à droite, et si l'on produit une correspondance avec testexpression, les clauses restantes ne sont pas évaluées. Le court-circuit peut améliorer les performances, mais il peut produire des résultats inattendus si vous vous attendez à ce que chaque expression de la liste d'expressions soit évaluée.
- Si le code d'un bloc d'instructions Case ou Case Else n'a plus besoin d'exécuter les instructions du bloc, il peut quitter le bloc à l'aide de l'instruction Exit Select. Cela transfère immédiatement le contrôle à l'instruction suivant End Select.
- Les constructions Select Case peuvent être imbriquées. Chaque construction Select Case imbriquée doit avoir une instruction End Select correspondante et doit être entièrement contenue dans un seul bloc d'instructions Case ou Case Else de la construction Select Case externe dans laquelle elle est imbriquée.
Dernière mise à jour : Mardi, le 24 Août 2021