Wie konvertiert man int in enum in C#? Typumwandlung für Ganzzahlen und Aufzählungen
Hallo zusammen! Ich bin neu in C# und bin auf eine unklare Situation bei der Arbeit mit Aufzählungen (enum) gestoßen. Ich habe folgende Aufzählung:
```csharp
public enum Status
{
New = 1,
InProgress = 2,
Completed = 3,
Failed = 4
}
```
Ich erhalte aus der Datenbank eine Ganzzahl (z.B. 2) und muss sie in das entsprechende Element der Aufzählung `Status` umwandeln. Ich habe versucht, den Wert einfach zuzuweisen:
```csharp
int statusFromDb = 2;
Status currentStatus = statusFromDb; // Compilerfehler!
```
Aber der Compiler gibt einen Fehler aus: "Cannot implicitly convert type 'int' to 'Status'". Ich verstehe, dass C# eine streng typisierte Sprache ist, aber wie führe ich eine solche Umwandlung korrekt durch? Ich habe `(Status)statusFromDb` ausprobiert – es scheint zu funktionieren, aber ist es sicher? Was passiert, wenn der int einen Wert enthält, der nicht in der Aufzählung vorkommt (z.B. 99)? Gibt es zuverlässigere Methoden? Vielen Dank im Voraus für die Hilfe!
<<>>