Avatar ·

Como converter uma string para enum em C#? (Enum.Parse, TryParse, ignorando maiúsculas/minúsculas)

Olá a todos! Sou novo em C# e estou preso em uma tarefa aparentemente simples. Eu tenho um enum para status de pedido: ```csharp public enum OrderStatus { Pending, Processing, Shipped, Delivered, Cancelled } ``` O usuário digita um status em um campo de texto (por exemplo, "Shipped" ou "shipped"). Preciso converter essa string para um valor `OrderStatus` para usá-lo na lógica do programa. Tentei simplesmente atribuir a string a uma variável do tipo `OrderStatus`: ```csharp string userInput = "Shipped"; OrderStatus status = userInput; // Erro de compilação: Cannot implicitly convert type 'string' to 'OrderStatus' ``` Naturalmente, isso não funciona. Eu sei que existe o método `Enum.Parse`, mas li que ele lança uma exceção se a string não estiver no enum. E se o usuário digitar "shipped" com letra minúscula ou cometer um erro de digitação? Como converter corretamente e com segurança uma string para enum, considerando possíveis erros de entrada? De preferência com exemplos de código. Obrigado!