Hallo,
ich habe eine enumaration
public enum Zustand
{
leer,
Zustand1,
Zustand2
}
In einer Funktion mache ich ein Array davon und fülle es.
Ich bekomme so etwas
Zustand[] zustand_list = …
Jetzt möchte ich so ich auf dieses Array eine contains methode anwenden.
wie etwa …
if(zustand_list.contains(Zustand.leer))
{
}
Gibt es dazu eine Möglichkeit ohne es selbst zu implementieren ?
Eine Interface oder soetwas ?
mfg
Martin
Hallo!
Gibt es dazu eine Möglichkeit ohne es selbst zu implementieren
Ein Array besitzt eine ‚Contains‘-Methode. Sollte also einsetzbar sein und funktionieren.
mfg
christoph
nö, leider nicht.
ich habe eine Array von eigen erstellten Typs.
public enum Zustand
{
ein,
aus,
leer,
voll,
was_auch_immer
}
und das Array dazu…
Zustand[] liste = Zustand[2];
liste[0] = Zustand.leer;
liste[1] = Zustand.aus;
Und was ich suche ist sowas wie …
if(liste.contains(Zustand.leer)
Selbst wenn ich ein int[] habe gibt es kein contains.
Nur einen GetEnumerator mit dem ich durch alle Elemente laufen kann.
Zur Zeit benutzt ich das.
ich durchlaufe jedes Objekt in liste und vergleich es mit den elementen im enum Zustand.
mfg
Martin
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Hi!
Das Array mit den möglichen Enum-Werten bekommst Du einfacher über Enum.GetValues():
Array z = Enum.GetValues(typeof(Zustand));
Herausfinden, ob ein Array ein gesuchtes Objekt beinhaltet, geht z.B. über Array.IndexOf():
bool leerInArray = (Array.IndexOf(z, Zustand.leer) \>= 0);
Gruß,
Martin
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]