如何在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;
```