Laden...

enum Member zuweisen?

Erstellt von sadza79 vor 19 Jahren Letzter Beitrag vor 19 Jahren 2.885 Views
S
sadza79 Themenstarter:in
69 Beiträge seit 2004
vor 19 Jahren
enum Member zuweisen?

Hallo Zusammen,

warum funktioniert das nicht?


public enum WERTE : int
{
WERT1,
WERT2,
WERT3
}

int w1 = WERTE.WERT1; // Fehler

WERTE w2 = WERTE.WERT1; // Ok

Bei den Members handelt es sich doch um Integer oder nicht?

Danke

P
939 Beiträge seit 2003
vor 19 Jahren

Du must es casten, WERTE und int sind zwei verschiedene Datentypen. Die WERTE-Members sind vom Typ WERTE.

int w1 = (int)WERTE.WERT1;
N
4.644 Beiträge seit 2004
vor 19 Jahren

casten

int w1 = (int)WERTE.WERT1;
49.485 Beiträge seit 2005
vor 19 Jahren

Hallo zusammen,

man könnte noch ergänzen, dass durch das ': int' keine Vererbung stattfindet (welche die fehlerhafte Zuweisung dann ja erlauben würde), sondern lt. Doku nur "der zugrunde liegende Typ, durch den der Speicher festgelegt wird, der für die einzelnen Enumeratoren reserviert wird" festgelegt wird. Und da int Default ist, kann das ': int' ganz entfallen.

HTH

herbivore