Avatar ·

Comment obtenir une valeur int à partir d'un enum en C# ? Conversion d'une énumération en nombre

Bonjour à tous ! Je viens de commencer à apprendre C# et j'ai rencontré un problème. J'ai une énumération (enum) qui décrit les statuts d'une commande : ```csharp public enum OrderStatus { Created, Processing, Shipped, Delivered, Cancelled } ``` Je dois sauvegarder le statut de la commande dans une base de données sous forme d'un nombre entier (int). Par exemple, `OrderStatus.Created` doit devenir 0, `OrderStatus.Processing` — 1, et ainsi de suite. Mais quand j'essaie d'assigner simplement la valeur : ```csharp int statusCode = OrderStatus.Created; ``` Le compilateur génère une erreur : "Cannot implicitly convert type 'OrderStatus' to 'int'". Je comprends que l'enum est un type distinct, pas simplement un nombre. Mais comment obtenir correctement sa valeur numérique ? J'ai essayé de faire `(int)OrderStatus.Created`, et cela semble fonctionner, mais je ne suis pas sûr que ce soit la bonne méthode. Existe-t-il d'autres options ? Y a-t-il des pièges à éviter ? Par exemple, si j'ai un enum avec des valeurs explicitement définies, comme dans l'exemple ci-dessous ? ```csharp pub