¿Cómo convertir una cadena a un enum en C#?
¡Hola, colegas! Soy nuevo en C# y me encontré con un problema. Tengo un enum para los estados del pedido:
```csharp
public enum OrderStatus
{
Pending,
Processing,
Shipped,
Delivered,
Cancelled
}
```
Recibo el estado del usuario como una cadena, por ejemplo, desde un campo de texto o desde una respuesta JSON de una API. La cadena puede ser: "Pending", "Shipped" o "Cancelled". Necesito convertir esta cadena al valor del enum correspondiente para usarlo en la lógica del programa.
Intenté simplemente asignar la cadena a una variable de tipo `OrderStatus`, pero el compilador arroja un error. Intenté usar `Convert.ChangeType()`, pero tampoco funcionó. La única forma que encontré es escribir un enorme `switch` con un montón de `case`:
```csharp
OrderStatus status;
switch (inputString)
{
case "Pending":
status = OrderStatus.Pending;
break;
case "Processing":
status = OrderStatus.Processing;
break;
```
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Depuración de código Rust: guía completa de técnicas y herramientas
Trabajo con JSON en Swift: análisis y serialización en la práctica
Listado de directorios en Go: guía completa con ejemplos de código
Documentación en PHP: cómo escribir código que se explica solo