Array/Enumeration contains

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]