Enums und Strings
-
Hi,
ich habe folgendes Enum:
enum Colors { Red = 1, Blue = 2, Green = 4, Yellow = 8 }; Colors foobar = Colors.Red | Colors.Yellow;
Jetzt möchte ich gerne die Werte aus foobar in Stringform. Dafür habe ich folgendes probiert, doch das hat mir immer alle Werte aus Colors wiedergegeben.
foreach (string name in Enum.GetNames (foobar.GetType ())) Console.WriteLine (name);
Ich möchte:
Red
YellowIch bekomme:
Red
Blue
Green
YellowJemand eine Idee wie ich das realisieren kann?
Viele Grüße,
C#'ler
-
Das geht so nicht. Du musst das von Hand machen.
Enum.GetNames gibt dir ALLE möglichen Werte als Namen zurück.
Enum.GetName gibt dir den Namen des aktuellen Wertes zurück. Leider geht das nicht mit "veroderten" Werten.
-
Enum.Format(typeof(Colors),foobar,"F")
Aber du solltest besser noch das FlagsAttribut für dein Enum verwenden.