Avatar ·

如何在C#中将字符串转换为枚举(enum)?

大家好!我是C#新手,遇到了一个问题。我有一个用于订单状态的枚举(enum): ```csharp public enum OrderStatus { Pending, Processing, Shipped, Delivered, Cancelled } ``` 我从用户那里以字符串形式获取状态,例如来自文本框或API的JSON响应。字符串可能是这样的:"Pending"、"Shipped"或"Cancelled"。我需要将这个字符串转换为相应的枚举值,以便在程序逻辑中使用。 我尝试过简单地将字符串赋值给`OrderStatus`类型的变量,但编译器报错了。我也尝试过使用`Convert.ChangeType()`,但也不起作用。我找到的唯一方法是写一个巨大的`switch`语句,包含很多`case`: ```csharp OrderStatus status; switch (inputString) { case "Pending": status = OrderStatus.Pending; break; case "Processing": status = OrderStatus.Processing; break; ```