Laden...

enum

Erstellt von Guggsdu vor 19 Jahren Letzter Beitrag vor 19 Jahren 2.429 Views
Guggsdu Themenstarter:in
220 Beiträge seit 2004
vor 19 Jahren
enum

Hallo!

In enums kann man offensichtlich keine Werte einfügen, die mit einer Zahl oder Sonderzeichen beginnen. Gibt es dafür einen Weg?

Bsp.:

enum MyEnum
{
10 °C,
°C
}

Gruß

Guggsdu

Gruß
Guggsdu

H
704 Beiträge seit 2003
vor 19 Jahren

Hi!

soetwas ist nicht erlaubt. Bezeichner dürfen nicht mit einer Zahl anfangen Du müsstest das so schreiben:


enum MyEnum
{
   Grad10
}

[last.fm](http://www.last.fm/user/hauptmanAlpha/)
Guggsdu Themenstarter:in
220 Beiträge seit 2004
vor 19 Jahren

Ich will die enum-Member in einer Combo-Box darstellen. Ist es denn möglich, die DataSource auf das enum zu legen und den angezeigten Text zu modifizieren (sodaß
z. B. '°C' in der Combobox angezeigt wird)??

Gruß
Guggsdu

Gruß
Guggsdu

S
18 Beiträge seit 2004
vor 19 Jahren

mach halt

enum MyEnum
{
Grad01 = 1,
Grad05 = 5,
Grad10 = 10
}

MyEnum blub = MyEnum.Grad01:

mit

int enumPartValue = (int) blub;

kommst du an den wert des enums somit kannst du unterscheiden was gewählt wurde usw. Bissel weiterdenken und über SelectedIndex usw. lässt sich das alles dann recht einfach machen.

Ci@o SCO

Debuggers dont remove bugs, they only show them in slow-motion.

Guggsdu Themenstarter:in
220 Beiträge seit 2004
vor 19 Jahren

Appropos Selected Index: Wie kann ich denn auf die Value-Werte eines enum über den Index zugreifen?? Das Problem ist, daß mit GetValue die Values in einem nach Value sortierten Array dargestellt werden. Damit stimmt ja der Index zum eigentlichen enum nicht mehr.

Und mit 'EnumName[x] geht's ni!
???

Gruß
Guggsdu

Gruß
Guggsdu

S
18 Beiträge seit 2004
vor 19 Jahren

Original von Guggsdu
Wie kann ich denn auf die Value-Werte eines enum über den Index zugreifen??

Gibts nicht.

Du weist doch wenn du deine ComboBox befüllst das 10 grad an erster stelle ist und 5 Grad an 2. stelle usw.

Mach halt einfach im Changed-Event einen switch :

switch (ComboBox.SelectedIndex)
{
case 0: deine 10 Grad;
case 1: deine 5 grad usw
}

so sollte es gehen..

Ci@o SCO

Debuggers dont remove bugs, they only show them in slow-motion.