Direct casting बनाम 'as' ऑपरेटर C# में: कब क्या उपयोग करें?
नमस्ते सहकर्मियों! मैं एक शुरुआती C# डेवलपर हूँ और एक ऐसी स्थिति में आ गया हूँ जो मुझे समझ नहीं आ रही है। अक्सर कोड में मैं किसी object को किसी विशिष्ट type में बदलने के दो तरीके देखता हूँ: कोष्ठक में 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 नहीं फेंकता, लेकिन अगर cast नहीं किया जा सकता तो क्या होता है? और value types, जैसे int या double, के लिए क्या करें? क्या उनके लिए 'as' का उपयोग किया जा सकता है? आपकी मदद के लिए धन्यवाद।