रेफरी पैरामीटर
एक संदर्भ पैरामीटर एक चर के स्मृति स्थान का संदर्भ है। जब आप संदर्भ द्वारा पैरामीटर पास करते हैं, तो मान पैरामीटर के विपरीत, इन पैरामीटर के लिए एक नया संग्रहण स्थान नहीं बनाया जाता है।
आप रेफरी कीवर्ड का उपयोग करके संदर्भ पैरामीटर घोषित कर सकते हैं। निम्नलिखित एक उदाहरण है -
उदाहरण
using System; namespace CalculatorApplication { class NumberManipulator { public void swap(ref int x, ref int y) { int temp; temp = x; /* save the value of x */ x = y; /* put y into x */ y = temp; /* put temp into y */ } static void Main(string[] args) { NumberManipulator n = new NumberManipulator(); /* local variable definition */ int a = 100; int b = 200; Console.WriteLine("Before swap, value of a : {0}", a); Console.WriteLine("Before swap, value of b : {0}", b); /* calling a function to swap the values */ n.swap(ref a, ref b); Console.WriteLine("After swap, value of a : {0}", a); Console.WriteLine("After swap, value of b : {0}", b); Console.ReadLine(); } } }
आउटपुट
Before swap, value of a : 100 Before swap, value of b : 200 After swap, value of a : 200 After swap, value of b : 100
आउट पैरामीटर
किसी फ़ंक्शन से केवल एक मान वापस करने के लिए रिटर्न स्टेटमेंट का उपयोग किया जा सकता है। हालांकि, आउट पैरामीटर का उपयोग करके, आप किसी फ़ंक्शन से दो मान वापस कर सकते हैं।
निम्नलिखित एक उदाहरण है -
उदाहरण
using System; namespace CalculatorApplication { class NumberManipulator { public void getValue(out int x ) { int temp = 10; x = temp; } static void Main(string[] args) { NumberManipulator n = new NumberManipulator(); /* local variable definition */ int a = 150; Console.WriteLine("Before method call, value of a : {0}", a); /* calling a function to get the value */ n.getValue(out a); Console.WriteLine("After method call, value of a : {0}", a); Console.ReadLine(); } } }
आउटपुट
Before method call, value of a : 150 After method call, value of a : 10