enum Liste abfragen
-
hallo,
ich habe eine kleine enum Liste, doch weiss ich nun nicht wie ich die Inhalte nun abfragen kann??
Beispel :
public enum {fritz, hans, jakob}
wie kann ich nun fritz ausgeben..ich will eine Methode die ein Stirng als Parameter bekommt, gibt man fritz als Parameter ein, so soll die Liste durchsucht werden, ob fritz vorhanden ist, wenn ja dann soll dies an der Konsole ausgegeben werden.
ungefähr so :
public void suche(string name){ if enum.EqaulsTo(name) Console.WriteLine(name);}
da ich noch anfänger bin wäre ein Beispiel sehr nett
Danke
-
Für sowas sind enums nicht da. Enums sind da, um zur compile-zeit sicherzustellen, dass nur bestimmte Werte angenommen werden können und nicht etwa, um zur Laufzeit festzustellen, ob es so etwas gibt. Wenn du das brauchst, solltest du dir lieber ne Klasse für diesen Zweck schreiben.
-
Auch wenn Optimizer insofern Recht hat, dass man so Enums
etwas missbraucht, ist es relativ einfach möglich.public enum Name { Fritz = 1, Hans, Jakob } public static bool Contains(string name) { try { Enum.Parse(typeof(Name), name); return true; } catch(ArgumentException e) { // ArgumentException wird geworfen, wenn der angegebene String // nicht im enum vorkommt // Hier ist übrigens unsere 2. Sünde, wir missbrauchen Exceptions } return false; }
grüße
-
also das ist mir nun klar geworden, doch was ist nun wenn ich nun wissen möchte welchen Wert als integer dieser name hat (also bei mir der symbolName)??
enum Symbol {hans,peter,jochen,heinz}; public void SetzeEnumIneinFeldn(char spalte, int zeile,string symbolName){ int x = 0; try { Enum.Parse(typeof(Symbol),symbolName); spielbrett[spalte,zeile] = ??? }
-
Ich hoff du weißt, dass Crossposten böse ist
...