Avatar ·

C# में int को enum में कैसे बदलें? पूर्णांकों और एनुम के लिए टाइप कास्टिंग

सभी को नमस्कार! मैं C# में नया हूँ और एनुम (enum) के साथ काम करते समय एक अजीब स्थिति का सामना किया। मेरे पास यह एनुम है: ```csharp public enum Status { New = 1, InProgress = 2, Completed = 3, Failed = 4 } ``` मैं डेटाबेस से एक पूर्णांक (जैसे, 2) प्राप्त करता हूँ, और मुझे इसे `Status` एनुम के संबंधित एलिमेंट में बदलना है। मैंने सीधे मान असाइन करने की कोशिश की: ```csharp int statusFromDb = 2; Status currentStatus = statusFromDb; // कंपाइलेशन एरर! ``` लेकिन कंपाइलर एक एरर देता है: "Cannot implicitly convert type 'int' to 'Status'"। मैं समझता हूँ कि C# एक स्ट्रिक्टली टाइप्ड लैंग्वेज है, लेकिन फिर ऐसा कन्वर्ज़न सही तरीके से कैसे करें? मैंने `(Status)statusFromDb` का उपयोग करने की कोशिश की — यह काम करता है, लेकिन क्या यह सुरक्षित है? अगर int में कोई मान हो जो एनुम में नहीं है (जैसे, 99), तो क्या होगा? क्या अधिक विश्वसनीय तरीके हैं? पहले से धन्यवाद! <<>>

डायरेक्ट टाइप कास्ट (cast) — सबसे सरल