| |
- 2 -
Werte aus einer ganz bestimmten Menge zulässig sind. Ein Zugriff auf Werte außerhalb
dieser Menge führt zu einem Typfehler. In C# werden Aufzählungstypen durch das
Schüsselwort enum eingeleitet.
Beispiel:
enum Monat { Januar = 1, Februar = 2, Maerz = 3,
April = 4 };
//Aufruf in Methode
Monat aktMonat = Monat.Februar;
switch (aktMonat){
case Monat.Januar :
Console.WriteLine(Januar hat 31 Tage);
break;
case Monat.Februar :
Console.WriteLine(Februar hat 28 Tage);
break;
}
Strukturierte Typen
Eine weitere Neuerung von C#, die es in Java nicht gibt, sind die strukturierten Typen
(struct). Hierbei handelt es sich um eine Verschachtelung von Attributen. Sie werden
ähnlich wie eine Klasse definiert. Im Grunde kann hier schon fast von einer Klasse ge-
sprochen werden, da auch Methoden mit integriert werden können. Jedoch muß eine
Besonderheit beachtet werden: Während es sich bei Klassen um einen Referenztyp han-
delt, handelt es sich bei strukturierten Typen um wertbehaftete Typen. Referenztyp be-
deutet, dass bei der Zuweisung eines Objektes an eine Variable der Speicherbereich der
Variable nicht mit einer Kopie des Objektes gefüllt wird, sondern mit einer Referenz an
die Speicheradresse, an der das Objekt erstellt wurde. Bei einem wertbehafteten Typ
stehen im Speicherbereich der Variable keine Referenzen, sondern direkt die Werte.
Beispiel für einen strukturierten Typ:
struct IP{
byte b1, b2, b3, b4;
//Struct-Konstruktor
public IP(byte b1, byte b2, byte b3, byte b4){
this.b1 = b1;
this.b2 = b2;
this.b3 = b3;
this.b4 = b4;
}
}
|  |
|
| |
|
|