c# : enums en structs

  1. Voorbereiding
  2. Enumeratie
  3. Structure

Voorbereiding

  • Maak een nieuwe Visual Studio solution Enum_Struct.
  • Maak in de solution Enum_Struct een nieuwe WPF Application WpfEnum_Struct.
  • Enumeratie

    Enumeraties of kortweg enums stellen je in staat items op een gestructureerde, geordende manier voor te stellen.
    Stel dat je in een C# programma de seizoenen wenst voor te stellen:

    Startwaarde aanpassen

    De startwaarde van een enumeratie is 0, maar kan als volgt worden aangepast:
    enum Seizoen { lente = 1, zomer, herfst, winter }
    

    Elementen met eenzelfde waarde:

    Je kan elementen opnemen in een enumeratie die dezelfde waarde hebben als een reeds aanwezig element (een soort van synoniem dus)
    enum Seizoen { lente, zomer, herfst, winter, spring = lente, summer = zomer, autumn = herfst }
    

    Enumeratie overlopen

    In volgend voorbeeld doorlussen we de enumeratiemogelijkheden en plaatsen we deze in een ListBox, een aantal nieuwe code-elementen zoals het gebruik van een array en een foreach-lus die later uitvoeriger worden uitgelegd komen hier aan bod.

  • Voorzie een knop btnToonSeizoenen
  • Voorzie een ListBox lstSeizoenen
  • Bij het klikken op de knop voeren we volgende statments uit:
    private void btnToonSeizoenen_Click(object sender, RoutedEventArgs e)
    {
          lstSeizoenen.Items.Clear();
          foreach (string s in Enum.GetNames(typeof(Seizoen)))
          {
              lstSeizoenen.Items.Add(s);
          }
               
    }
    

    enums in .Net

    Binnen het .Net Framework worden enumeraties vaak gebruikt.
    De eigenschap Visibility van bijvoorbeeld een WPF Button is ook een voorbeeld van een enum, deze heeft de mogelijke waarden Visibility.Visible, Visibility.Hidden en Visibility.Collapsed

    Je kan een Button met de naam btnTest dus als volgt onzichtbaar maken:

    btnTest.Visibility = Visibility.Hidden;
    

    Rechtsklik je in Visual Studio het woord Visibility en kies je "Go to definition" dan kom je bij de definitie voor de eigenschap Visibility van een Button:

    public Visibility Visibility { get; set; }
    

    Wanneer je hier nu weer de definition opvraagt van de type-aanduiding Visibility, dan vind je de definitie van de enum Visibility:

    namespace System.Windows
    {
        // Summary:
        //     Specifies the display state of an element.
        public enum Visibility
        {
            // Summary:
            //     Display the element.
            Visible = 0,
            //
            // Summary:
            //     Do not display the element, but reserve space for the element in layout.
            Hidden = 1,
            //
            // Summary:
            //     Do not display the element, and do not reserve space for it in layout.
            Collapsed = 2,
        }
    }
    
  • Structure

    Meer info over Structures en het verschil met klassen vind je in een artikel bij DevTips

    Meer tutorials:
    leer ook: html | xhtml | css | asp | asp.net | c# | ado.net | linq | ajax | java | javascript
    Valid HTML 4.01! Valid CSS! © - Cursusweb