Willkommen auf myCSharp.de! Anmelden | kostenlos registrieren
 | Suche | FAQ

Hauptmenü
myCSharp.de
» Startseite
» Forum
» Suche
» Regeln
» Wie poste ich richtig?

Mitglieder
» Liste / Suche
» Wer ist online?

Ressourcen
» FAQ
» Artikel
» C#-Snippets
» Jobbörse
» Microsoft Docs

Team
» Kontakt
» Cookies
» Spenden
» Datenschutz
» Impressum

  • »
  • Community
  • |
  • Diskussionsforum
enum Member zuweisen?
sadza79
myCSharp.de - Member



Dabei seit:
Beiträge: 69

Themenstarter:

enum Member zuweisen?

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers
Pulpapex
myCSharp.de - Member



Dabei seit:
Beiträge: 962
Herkunft: Rostock

beantworten | zitieren | melden

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

int w1 = (int)WERTE.WERT1;
private Nachricht | Beiträge des Benutzers
Noodles
myCSharp.de - Experte



Dabei seit:
Beiträge: 4802
Herkunft: Leipzig

beantworten | zitieren | melden

casten

int w1 = (int)WERTE.WERT1;
private Nachricht | Beiträge des Benutzers
herbivore
myCSharp.de - Experte

Avatar #avatar-2627.gif


Dabei seit:
Beiträge: 52329
Herkunft: Berlin

beantworten | zitieren | melden

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
private Nachricht | Beiträge des Benutzers