C# में int को enum में कैसे बदलें? Type Casting और Enum.Parse
सभी को नमस्कार! मैं एक शुरुआती C# डेवलपर हूँ और मुझे एक ऐसी स्थिति का सामना करना पड़ा जो मेरे लिए समझ से बाहर थी। मेरे पास ऑर्डर स्टेटस के लिए एक enum है:
```csharp
public enum OrderStatus
{
Created = 1,
Processing = 2,
Shipped = 3,
Delivered = 4
}
```
डेटाबेस से मुझे स्टेटस का न्यूमेरिकल वैल्यू int के रूप में मिलता है (जैसे, 2)। मुझे इस int को OrderStatus enum एलिमेंट में बदलना है। मैंने सीधे असाइन करने की कोशिश की:
```csharp
int statusValue = 2;
OrderStatus status = statusValue; // कम्पाइलेशन एरर!
```
लेकिन मुझे एरर मिलती है: "Cannot implicitly convert type 'int' to 'OrderStatus'"। मैं समझता हूँ कि C# एक स्ट्रिक्टली टाइप्ड लैंग्वेज है, लेकिन फिर ऐसा कन्वर्ज़न सही तरीके से कैसे करूँ?
मैंने explicit cast और Enum.Parse मेथड के बारे में सुना है, लेकिन मुझे पूरी तरह से समझ नहीं आया कि इनमें क्या अंतर है और कौन सा तरीका बेहतर है। साथ ही, मैं यह जानना चाहता हूँ कि अगर मैं कोई ऐसा नंबर पास करूँ जो enum के किसी भी वैल्यू से मेल नहीं खाता (जैसे, 5 या 0), तो क्या होगा? क्या कोई exception आएगी?