Wie konvertiert man einen String in einen Enum in C#? (Enum.Parse, TryParse, Groß-/Kleinschreibung ignorieren)
Hallo zusammen! Ich bin neu in C# und bin bei einer scheinbar einfachen Aufgabe stecken geblieben.
Ich habe eine Enumeration (enum) für Bestellstatus:
```csharp
public enum OrderStatus
{
Pending,
Processing,
Shipped,
Delivered,
Cancelled
}
```
Der Benutzer gibt einen Status in ein Textfeld ein (z.B. "Shipped" oder "shipped"). Ich muss diesen String in einen `OrderStatus`-Wert konvertieren, um ihn in der Programmlogik zu verwenden.
Ich habe versucht, den String einfach einer Variable vom Typ `OrderStatus` zuzuweisen:
```csharp
string userInput = "Shipped";
OrderStatus status = userInput; // Kompilierungsfehler: Cannot implicitly convert type 'string' to 'OrderStatus'
```
Natürlich funktioniert das nicht. Ich weiß, dass es die Methode `Enum.Parse` gibt, aber ich habe gelesen, dass sie eine Exception wirft, wenn der String nicht im Enum vorhanden ist. Was ist, wenn der Benutzer "shipped" in Kleinbuchstaben eingibt oder einen Tippfehler macht? Wie konvertiert man einen String korrekt und sicher in einen Enum, unter Berücksichtigung möglicher Eingabefehler? Am besten mit Codebeispielen.
Danke