Direct casting बनाम 'as' ऑपरेटर C# में: कब क्या उपयोग करें?
नमस्ते सहकर्मियों! मैं एक शुरुआती C# डेवलपर हूँ और मुझे एक ऐसी स्थिति का सामना करना पड़ा है जो मेरे लिए अस्पष्ट है। अक्सर कोड में मैं किसी ऑब्जेक्ट को एक विशिष्ट प्रकार में बदलने के दो तरीके देखता हूँ: कोष्ठक में Direct casting और 'as' ऑपरेटर। उदाहरण के लिए:\n\n
object obj = "Hello, world!";\nstring str1 = (string)obj; // Direct casting\nstring str2 = obj as string; // 'as' ऑपरेटर\n\n\nदोनों विकल्प समान रूप से काम करते प्रतीत होते हैं, लेकिन मुझे लगता है कि इनके बीच महत्वपूर्ण अंतर हैं। मेरा प्रश्न है: इन दोनों दृष्टिकोणों में क्या अंतर है? कब Direct casting का उपयोग करना सुरक्षित है, और कब 'as' ऑपरेटर का? मैंने सुना है कि 'as' कोई exception नहीं फेंकता, लेकिन अगर रूपांतरण संभव न हो तो क्या होता है? और value types, जैसे int या double, के लिए क्या करें? क्या उनके लिए 'as' का उपयोग किया जा सकता है? आपके उत्तर के लिए आभारी रहूँगा।