17 Stimmen

Prüfen, ob ein Enum ein Feld hat, das einer Zeichenkette entspricht

Ich habe eine Aufzählung

public enum FileExtentions {
    mp3,
    mpeg
}

Und ich habe eine FileInfo, von denen ich überprüfen möchte, ob die Erweiterung in der vorherigen enum ist. Ich hatte gehofft, ich könnte eine

FileExtensions.Any(e=>e.ToString().Equals(file.Extension));

Aber das wäre zu fantastisch gewesen. Irgendwelche Ideen?

0voto

Срба Punkte 453

Der beste Weg ist, die Funktion Enum.IsDefined zu verwenden. In Ihrem Fall ist das ziemlich einfach:

if (Enum.IsDefined(typeof(FileExtentions), file.Extension))

1 Stimmen

Antwort von @Mark Brackett prüfen

0voto

Ali Karaca Punkte 2605

Allgemeine Lösung:

Enum.IsDefined(Type, Object)

Ihre Lösung ist:

Enum.IsDefined(typeof(FileExtentions), FileInfo)

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X