Enumerarile ofera un mod avantajos de lucru cu multimi de constante sau asocierea valorilor constante cu denumiri de constante. Enumerarile sunt tratate ca tipuri de date si sunt utilizate pentru a crea multimi de constante.
Avantaje ale utilizarii enumerarilor:
- reducerea erorilor de introducere a valorilor numerice in cod sursa;
- schimbarea usoara a valorii constante in dezvoltari ulterioare;
- mentenanta facila a codului sursa;
- asigurarea fiabilitatii codului sursa in raport cu schimbari viitoare ale valorilor.
Enumerarile sunt definite standard in limbajul VB.NET sau declarate de catre dezvoltator.
Declararea unei enumerari presupune utilizarea specificatiilor Enum si End Enum introduse in zona de declaratii a unei clase de obiecte […] sau modul […]. O enumerare are o denumire, un tip asociat si o multime de campuri, fiecare fiind o constanta. Enumerarile nu pot avea valori reale in virgula mobila.
Constantele sunt declarate in enumerari. Primul camp din enumerare este initializat cu valoarea 0, iar urmatorul camp are valoarea celui precedent incrementata cu valoarea 1.
Public Enum Luni Ianuarie Februarie Martie Aprilie Mai Iunie Iulie August Septembrie Octombrie Noiembrie Decembrie End Enum
In exemplul anterior, constanta denumita Ianuarie are valoarea 0, iar constanta denumita Decembrie are valoarea 11.
Campurile incluse intr-o enumerare pot avea valori asociate. De exemplu, in enumerarea urmatoare este definit campul LunaInvalida initializat cu o valoare intreaga negativa pentru a surprinde cazurile de eroare cu privire la luna calendaristica:
Public Enum Luni Ianuarie Februarie Martie Aprilie Mai Iunie Iulie August Septembrie Octombrie Noiembrie Decembrie LunaInvalida = -1 End Enum
Referirea unei constante inclusa intr-o enumerare se implementeaza astfel:
... Dim x As Integer x = Luni.Decembrie MsgBox("ID luna: " & x) ...