Avatar ·

Comment convertir une chaîne en enum en C# ? (Enum.Parse, TryParse, ignorer la casse)

Bonjour à tous ! Je suis débutant en C# et je bloque sur une tâche apparemment simple. J'ai une énumération (enum) pour les statuts de commande : ```csharp public enum OrderStatus { Pending, Processing, Shipped, Delivered, Cancelled } ``` L'utilisateur saisit un statut dans un champ de texte (par exemple, "Shipped" ou "shipped"). J'ai besoin de convertir cette chaîne en valeur `OrderStatus` pour l'utiliser dans la logique du programme. J'ai essayé d'assigner simplement la chaîne à une variable de type `OrderStatus` : ```csharp string userInput = "Shipped"; OrderStatus status = userInput; // Erreur de compilation : Cannot implicitly convert type 'string' to 'OrderStatus' ``` Naturellement, cela ne fonctionne pas. Je sais qu'il existe la méthode `Enum.Parse`, mais j'ai lu qu'elle lève une exception si la chaîne n'est pas dans l'enum. Et si l'utilisateur saisit "shipped" en minuscules ou fait une faute de frappe ? Comment convertir correctement et en toute sécurité une chaîne en enum, en tenant compte des erreurs de saisie possibles ? Idéalement avec des exemples de code. Merci