Galileo Computing < openbook > Galileo Computing - Professionelle Bücher. Auch für Einsteiger.
Professionelle Bücher. Auch für Einsteiger.

Inhaltsverzeichnis
Vorwort zur 6. Auflage
1 Allgemeine Einführung in .NET
2 Grundlagen der Sprache C#
3 Das Klassendesign
4 Vererbung, Polymorphie und Interfaces
5 Delegates und Ereignisse
6 Strukturen und Enumerationen
7 Fehlerbehandlung und Debugging
8 Auflistungsklassen (Collections)
9 Generics – Generische Datentypen
10 Weitere C#-Sprachfeatures
11 LINQ
12 Arbeiten mit Dateien und Streams
13 Binäre Serialisierung
14 XML
15 Multithreading und die Task Parallel Library (TPL)
16 Einige wichtige .NET-Klassen
17 Projektmanagement und Visual Studio 2012
18 Einführung in die WPF und XAML
19 WPF-Layout-Container
20 Fenster in der WPF
21 WPF-Steuerelemente
22 Elementbindungen
23 Konzepte von WPF
24 Datenbindung
25 Weitere Möglichkeiten der Datenbindung
26 Dependency Properties
27 Ereignisse in der WPF
28 WPF-Commands
29 Benutzerdefinierte Controls
30 2D-Grafik
31 ADO.NET – Verbindungsorientierte Objekte
32 ADO.NET – Das Command-Objekt
33 ADO.NET – Der SqlDataAdapter
34 ADO.NET – Daten im lokalen Speicher
35 ADO.NET – Aktualisieren der Datenbank
36 Stark typisierte DataSets
37 Einführung in das ADO.NET Entity Framework
38 Datenabfragen des Entity Data Models (EDM)
39 Entitätsaktualisierung und Zustandsverwaltung
40 Konflikte behandeln
41 Plain Old CLR Objects (POCOs)
Stichwort

Download:
- Beispiele, ca. 62,4 MB

Buch bestellen
Ihre Meinung?

Spacer
Visual C# 2012 von Andreas Kühnel
Das umfassende Handbuch
Buch: Visual C# 2012

Visual C# 2012
Rheinwerk Computing
1402 S., 6., aktualisierte und erweiterte Auflage 2013, geb., mit DVD
49,90 Euro, ISBN 978-3-8362-1997-6
Pfeil 6 Strukturen und Enumerationen
Pfeil 6.1 Strukturen – eine Sonderform der Klassen
Pfeil 6.1.1 Die Definition einer Struktur
Pfeil 6.1.2 Initialisieren einer Strukturvariablen
Pfeil 6.1.3 Konstruktoren in Strukturen
Pfeil 6.1.4 Änderung im Projekt »GeometricObjects«
Pfeil 6.2 Enumerationen (Aufzählungen)
Pfeil 6.2.1 Wertzuweisung an enum-Mitglieder
Pfeil 6.2.2 Alle Mitglieder einer Aufzählung durchlaufen
Pfeil 6.3 Boxing und Unboxing

Galileo Computing - Zum Seitenanfang

6.2 Enumerationen (Aufzählungen)Zur nächsten Überschrift

Eine Enumeration (häufig auch als »Aufzählung« bezeichnet) ist als Gruppierung mehrerer Konstanten zu verstehen, die miteinander in einer logischen Beziehung stehen und zur Laufzeit nicht verändert werden können. Enumerationen werden meistens dazu verwendet, um besser lesbaren Programmcode schreiben zu können, und sind von der gemeinsamen Basisklasse Enum abgeleitet. Enumerationen werden zu den Wertetypen gerechnet.

Die Werte, die von den Konstanten einer Enumeration gebildet werden, sind vom gleichen Datentyp. Dabei kann es sich um byte, short, int oder long handeln. Andere Datentypen sind nicht zugelassen. Solange nicht anders angegeben, sind alle Enumerationsmember Integer.

Betrachten Sie das folgende Beispiel der Enumeration Spielkarte:

public enum Spielkarte {
Karo = 9,
Herz = 10,
Pik = 11,
Kreuz = 12
}

Listing 6.8 Die Enumeration »Spielkarte«

Eine Enumeration wird mit dem Schlüsselwort enum eingeleitet. Hinter der Angabe des Bezeichners kann optional der von den Konstanten beschriebene Datentyp angegeben werden. Da Spielkarte keine Angabe enthält, sind die vier Konstanten vom Typ Integer. Wird jedoch der Typ long gewünscht, ist dieser, getrennt durch einen Doppelpunkt, hinter dem Bezeichner der Enumeration anzugeben, z. B.:

public enum Spielkarte : long { [...] }

Der enum-Block enthält alle erforderlichen Konstanten, die bis auf das letzte Element untereinander durch ein Komma getrennt werden. Der von den Konstanten beschriebene Wert muss nicht ausdrücklich angegeben werden, es ist eine Option. Fehlt die Angabe, wird dieser nach einem bestimmten Algorithmus automatisch vergeben. Zur Wertbildung gibt es nur zwei Regeln:

  • Wird der ersten Konstanten nicht ausdrücklich ein Wert zugewiesen, repräsentiert sie den Wert 0.
  • Für alle anderen Konstanten ohne explizite Wertangabe gilt: Wert des Vorgängerelements plus eins.

Demnach würde es ausreichen, die Enumeration Spielkarte wie folgt zu definieren:

public enum Spielkarte {
Karo = 9,
Herz,
Pik,
Kreuz
}

Listing 6.9 Gleichwertige Enumeration »Spielkarte«


Galileo Computing - Zum Seitenanfang

6.2.1 Wertzuweisung an enum-MitgliederZur nächsten ÜberschriftZur vorigen Überschrift

Enumerationen gehören zu der Gruppe der Wertetypen. Daher reicht auch eine einfache Variablendeklaration aus:

Spielkarte myGame;

Die Variable myGame kann nun für eine beliebige Konstante der Aufzählung Spielkarte stehen. Um welche es sich genau handelt, muss mit der Punktnotation angegeben werden:

myGame = Spielkarte.Herz;

Wenn Sie am Zahlenwert, der dieser Konstanten zugeordnet ist, interessiert sind, müssen Sie explizit konvertieren:

long value = (int)Spielkarte.Herz;

Galileo Computing - Zum Seitenanfang

6.2.2 Alle Mitglieder einer Aufzählung durchlaufenZur vorigen Überschrift

Enumerationen werden uns im weiteren Verlauf dieses Buches noch häufig begegnen. Manchmal kann es sinnvoll sein, im Programmcode die Mitglieder einer Aufzählung in einer Schleife abzugreifen. Ich möchte Ihnen am Beispiel der Aufzählung Spielkarte demonstrieren, wie das programmiertechnisch umgesetzt wird.

// Beispiel: ..\Kapitel 6\EnumerationSample

class Program
{
static void Main(string[] args) {
foreach (Spielkarte karte in Enum.GetValues(typeof(Spielkarte)))
Console.WriteLine(karte);
Console.ReadLine();
}

}

public enum Spielkarte
{
Karo = 9,
Herz,
Pik,
Kreuz
}

Listing 6.10 Die Liste der Enumerationsmitglieder durchlaufen

Eingangs wurde bereits erwähnt, dass alle Enumerationen aus der Klasse Enum abgeleitet werden. Diese stellt mit GetValues eine statische Methode zur Verfügung, die uns eine Array-Referenz aller in der Enumeration enthaltenen Konstanten zurückliefert. GetValues ist wie folgt definiert:

public static Array GetValues(Type enumType);

Der Rückgabewert ist vom Typ Array, das Übergabeargument vom Typ Type. Letztgenannter Typ liefert Informationen über einen Datentyp, beispielsweise über die von einer Klasse veröffentlichten Methoden und Felder. Dazu müssen wir uns nur den Type eines bestimmten Datentyps besorgen. Hier hilft die C#-spezifische Funktion typeof weiter, der wir als Argument den Typbezeichner übergeben. Der Ausdruck

Enum.GetValues(typeof(Spielkarte)))

liefert die Elemente der Enumeration als Array, das wir in der Schleife vom ersten bis zum letzten Element durchlaufen. Der Konstantenbezeichner wird in der Konsole ausgegeben.



Ihr Kommentar

Wie hat Ihnen das <openbook> gefallen? Wir freuen uns immer über Ihre freundlichen und kritischen Rückmeldungen.

>> Zum Feedback-Formular
<< zurück
  Zum Katalog
Zum Katalog: Visual C# 2012

Visual C# 2012
Jetzt bestellen


 Ihre Meinung?
Wie hat Ihnen das <openbook> gefallen?
Ihre Meinung

 Buchempfehlungen
Zum Katalog: Professionell entwickeln mit Visual C# 2012






 Professionell
 entwickeln mit
 Visual C# 2012


Zum Katalog: Windows Presentation Foundation






 Windows Presentation
 Foundation


Zum Katalog: Schrödinger programmiert C++






 Schrödinger
 programmiert C++


Zum Katalog: C++ Handbuch






 C++ Handbuch


Zum Katalog: C/C++






 C/C++


 Shopping
Versandkostenfrei bestellen in Deutschland und Österreich
InfoInfo





Copyright © Rheinwerk Verlag GmbH 2013
Für Ihren privaten Gebrauch dürfen Sie die Online-Version natürlich ausdrucken. Ansonsten unterliegt das <openbook> denselben Bestimmungen, wie die gebundene Ausgabe: Das Werk einschließlich aller seiner Teile ist urheberrechtlich geschützt. Alle Rechte vorbehalten einschließlich der Vervielfältigung, Übersetzung, Mikroverfilmung sowie Einspeicherung und Verarbeitung in elektronischen Systemen.


[Rheinwerk Computing]

Rheinwerk Verlag GmbH, Rheinwerkallee 4, 53227 Bonn, Tel.: 0228.42150.0, Fax 0228.42150.77, service@rheinwerk-verlag.de