TOC

This article has been localized into Dutch by the community.

Geavanceerde onderwerpen:

Opsommingen

Opsommingen zijn speciale sets van benoemde waarden die worden omgezet in een set getallen, meestal integers. Ze komen van pas als je wilt kunnen kiezen tussen een set constante waarden en met elke mogelijke waarde die met een getal te maken heeft. Ze kunnen gebruikt worden in een hele reeks van situaties. Zoals te zien in ons voorbeeld worden opsommingen boven de classes gedefinieerd , binnen onze namespace. Dit betekent dat we opsommingen uit alle classes kunnen gebruiken binnen dezelfde namepsace.

Hier is een voorbeeld van een eenvoudige opsomming om te laten zien waar het over gaat.

public enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }

Al deze mogelijke waarden corresponderen met een getal. Als we niets specifieks instellen dan is de eerste waarde gelijk aan 0, de volgende aan 1, enzovoorts. Het volgende stuk code zal dit bewijzen, en laten zien hoe we één van de mogelijke waarden uit de opsomming gebruiken:

using System;

namespace ConsoleApplication1
{
    public enum Days { Monday, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }

    class Program
    {
        static void Main(string[] args)
        {
            Days day = Days.Monday;
            Console.WriteLine((int)day);
            Console.ReadLine();
        }
    }
}

De output zal nul zijn omdat de maandag waarde direct in getal nul wordt omgezet. Uiteraard kunnen we dat veranderen. Verander de regel bijvoorbeeld in dit:

public enum Days { Monday = 1, Tuesday, Wednesday, Thursday, Friday, Saturday, Sunday }

Als je de code opnieuw uitvoert zul je zien dat de maandag nu gelijk is aan 1 in plaats van aan 0. Alle andere waarden krijgen als resultaat een hoger getal. Je kunt ook andere getallen aan de andere waarden toekennen. Vanwege het direct omzetten naar een getal, kun je getallen gebruiken om uit de opsomming een corresponderende waarde te krijgen. Kijk maar hier:

Days day = (Days)5;
Console.WriteLine(day);
Console.ReadLine();

Een ander leuk kenmerk van opsommingen is het feit dat je ook nog een string representatie van de waarden kunt krijgen. Verander bovenstaand voorbeeld naar zoiets als dit:

static void Main(string[] args)
{
    string[] values = Enum.GetNames(typeof(Days));
    foreach(string s in values)
        Console.WriteLine(s);
    
    Console.ReadLine();
}

De Enum class bevat een boel nuttige methoden voor het werken met opsommingen.


This article has been fully translated into the following languages: Is your preferred language not on the list? Click here to help us translate this article into your language!