如何在C#中从enum获取int值?将枚举转换为数字
大家好!我刚开始学习C#,遇到了一个问题。我有一个枚举 (enum),描述订单状态:
```csharp
public enum OrderStatus
{
Created,
Processing,
Shipped,
Delivered,
Cancelled
}
```
我需要将订单状态以整数 (int) 形式保存到数据库中。例如,`OrderStatus.Created` 应该变成0,`OrderStatus.Processing` 变成1,以此类推。但当我尝试直接赋值时:
```csharp
int statusCode = OrderStatus.Created;
```
编译器报错:"Cannot implicitly convert type 'OrderStatus' to 'int'"。我明白枚举是一个独立的类型,而不仅仅是数字。那么如何正确获取它的数值呢?我试过 `(int)OrderStatus.Created`,这似乎有效,但我不确定这是否是正确的方法。还有其他选项吗?比如,如果我的枚举有显式指定的值,如下面的例子,会不会有什么陷阱?
```csharp
pub