Como obter o valor int de um enum em C#? Convertendo enumeração para número
Olá a todos! Comecei a estudar C# recentemente e me deparei com um problema. Tenho uma enumeração (enum) que descreve os status de um pedido:
```csharp
public enum OrderStatus
{
Created,
Processing,
Shipped,
Delivered,
Cancelled
}
```
Preciso salvar o status do pedido em um banco de dados como um número inteiro (int). Por exemplo, `OrderStatus.Created` deve se tornar 0, `OrderStatus.Processing` — 1, e assim por diante. Mas quando tento simplesmente atribuir o valor:
```csharp
int statusCode = OrderStatus.Created;
```
O compilador gera um erro: "Cannot implicitly convert type 'OrderStatus' to 'int'". Eu entendo que enum é um tipo separado, não apenas um número. Mas então, como obter corretamente seu valor numérico? Tentei fazer `(int)OrderStatus.Created`, e parece funcionar, mas não tenho certeza se é a maneira correta. Existem outras opções? Talvez haja algumas armadilhas? Por exemplo, e se eu tiver um enum com valores explicitamente definidos, como no exemplo abaixo?
```csharp
pub