Comment : déclarer des énumérations

Mise à jour : novembre 2007

L'ajout d'une instruction Enum dans la section des déclarations d'une classe ou d'un module permet de créer une énumération. Vous ne pouvez pas déclarer d'énumération dans une méthode. Pour spécifier le niveau d'accès approprié, utilisez Private, Protected, Friend ou Public.

Un type Enum possède un nom, un type sous-jacent et un ensemble de champs, dont chacun représente une constante. Le nom doit être un qualificateur Visual Basic 2005 valide. Le type sous-jacent doit être l'un des types d'entiers : Byte, Short, Long ou Integer. Integer est le type par défaut. Les énumérations sont toujours fortement typées et ne sont pas interchangeables avec les types de nombre entier.

Les énumérations ne peuvent pas comporter de valeurs à virgule flottante. Si une valeur à virgule flottante avec Option Strict On est assignée à une énumération, une erreur de compilation se produit. Si Option Strict est Off, la valeur est convertie automatiquement en type Enum.

Pour plus d'informations sur les noms et sur l'utilisation de l'instruction Imports pour rendre inutile la qualification de noms, consultez Énumérations et qualification de noms.

Pour déclarer une énumération

  1. Écrivez une déclaration qui inclut un niveau d'accès de code, le mot clé Enum et un nom valide, comme dans les exemples suivants, qui déclarent chacun un Enum différent.

    Private Enum SampleEnum
            SampleMember
        End Enum
        Public Enum SampleEnum2
            SampleMember
        End Enum
        Protected Enum SampleEnum3
            SampleMember
        End Enum
        Friend Enum SampleEnum4
            SampleMember
        End Enum
        Protected Friend Enum SampleEnum5
            SampleMember
        End Enum
    
  2. Définissez les constantes dans l'énumération. Par défaut, la première constante d'une énumération est initialisée à la valeur 0 et les constantes suivantes sont initialisées à une valeur de plus que la constante précédente. Par exemple, l'énumération suivante (Days) contient une constante nommée Sunday avec la valeur 0, une constante nommée Monday avec la valeur 1, une constante nommée Tuesday avec la valeur 2, et ainsi de suite.

    Public Enum Days
      Sunday
      Monday
      Tuesday
      Wednesday
      Thursday
      Friday
      Saturday
    End Enum
    
  3. Vous pouvez assigner explicitement des valeurs à des constantes dans une énumération en utilisant une instruction d'assignation. Vous pouvez assigner une valeur entière, y compris des nombres négatifs. Par exemple, vous pouvez définir des constantes avec des valeurs inférieures à zéro pour représenter des conditions d'erreur. Dans l'énumération suivante, la valeur –1 est explicitement assignée à la constante Invalid et la valeur 0 est assignée à la constante Sunday. Dans la mesure où Saturday est la première constante de l'énumération, la valeur 0 lui est également assignée. La valeur de Monday est 1 (un de plus que la valeur de Sunday), la valeur de Tuesday est 2, et ainsi de suite.

    Public Enum WorkDays
      Saturday
      Sunday = 0
      Monday
      Tuesday
      Wednesday
      Thursday
      Friday
      Invalid = -1
    End Enum
    

Cet exemple de code est également disponible sous forme d'extrait de code IntelliSense. Dans le sélecteur d'extrait de code, il se trouve en Langage Visual Basic. Pour plus d'informations, consultez Comment : insérer des extraits de code dans votre code (Visual Basic).

Pour déclarer explicitement une énumération

  • Écrivez une déclaration en utilisant la syntaxe suivante.

    Public Enum MyEnum As Byte
      Zero
      One
      Two
    End Enum
    

Voir aussi

Tâches

Comment : faire référence à un membre d'énumération

Comment : itérer sur une énumération dans Visual Basic

Comment : déterminer la chaîne associée à une valeur d'énumération

Concepts

Énumérations et qualification de noms

Quand utiliser une énumération

Constantes et énumérations intrinsèques

Constantes et types de données littérales

Autres ressources

Constantes en Visual Basic