Avatar ·

كيفية الحصول على تمثيل نصي للتعداد (Enum) في C#؟ مشكلة مع ToString()

مرحباً بالجميع! أنا مطور C# مبتدئ واجهت مشكلة أثناء العمل مع التعدادات (enum). لدي هذا الكود: ```csharp public enum StatusCode { Success = 200, NotFound = 404, ServerError = 500 } StatusCode status = StatusCode.Success; Console.WriteLine(status); // يطبع "Success" ``` للوهلة الأولى، كل شيء يعمل — ToString() يعيد اسم الثابت افتراضياً. لكن عندما حاولت استخدام هذا في سيناريو أكثر تعقيداً، مثلاً للتسجيل (logging) أو الحفظ في قاعدة البيانات، ظهرت مشاكل. أحتاج إلى الحصول على سلسلة نصية مثل "200" (القيمة الرقمية)، وليس "Success". كما أريد أن يكون التمثيل النصي أكثر مرونة: مثلاً، يحتوي على مسافات (مثل "Not Found" بدلاً من "NotFound") أو أن يكون مترجماً. جربت خيارات مختلفة: ```csharp // المحاولة 1: مجرد ToString() string s1 = status.ToString(); // "Success" - ليس ما أريد // المحاولة 2: تحويل إلى int string s2 = ((int)status).ToString(); // "200" - هذا يعمل، لكنه ليس مرناً ```