Avatar ·

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