Avatar ·

C# में ref और out कीवर्ड के बीच क्या अंतर है?

सभी को नमस्कार! मैंने C# सीखना शुरू किया है और `ref` और `out` कीवर्ड पर ध्यान गया। मैं समझता हूँ कि ये दोनों मेथड के अंदर पास की गई वेरिएबल को बदलने की अनुमति देते हैं, लेकिन मुझे इनके बीच का अंतर स्पष्ट नहीं है। यहाँ एक उदाहरण है जो मैंने लिखा: ```csharp public void TestRef(ref int x) { x = x * 2; } public void TestOut(out int x) { x = 10; } static void Main() { int a = 5; int b; // त्रुटि: out के लिए अनइनिशियलाइज़्ड वेरिएबल TestRef(ref a); Console.WriteLine(a); // 10 प्रिंट करता है TestOut(out b); Console.WriteLine(b); // 10 प्रिंट करता है } ``` मैंने देखा कि `out` के साथ मैं बिना त्रुटि के अनइनिशियलाइज़्ड वेरिएबल पास नहीं कर सकता, लेकिन मेथड में मैं इसे इनिशियलाइज़ करता हूँ। जबकि `ref` के साथ मुझे कॉल करने से पहले वेरिएबल को इनिशियलाइज़ करना अनिवार्य है। लेकिन मुझे यकीन है कि यह एकमात्र अंतर नहीं है। क्या कोई और बारीकियाँ हैं? उदाहरण के लिए, यह प्रदर्शन को कैसे प्रभावित करता है, या कब क्या उपयोग करना है इसके नियम हैं? विस्तृत स्पष्टीकरण और उदाहरणों के लिए आभारी रहूँगा।

अभी तक कोई उत्तर नहीं।

लॉग इन करें उत्तर देने के लिए

ब्लॉग