एक संदर्भ पैरामीटर एक चर के मेमोरी स्थान का संदर्भ होता है। जब आप पैरामीटर्स को संदर्भ द्वारा पास करते हैं, तो मान पैरामीटर्स के विपरीत, इन पैरामीटर्स के लिए एक नया स्टोरेज स्थान नहीं बनाया जाता है।
संदर्भ पैरामीटर्स उसी मेमोरी स्थान को दर्शाते हैं जो मेथड को आपूर्ति किए गए वास्तविक पैरामीटर्स का होता है।
निम्नलिखित उदाहरण संदर्भ द्वारा पैरामीटर्स पास करने का तरीका दिखाता है। ref कीवर्ड का उपयोग करके संदर्भ पैरामीटर्स घोषित करें।
उदाहरण
using System;
namespace CalculatorApplication {
class NumberManipulator {
public void swap(ref int x, ref int y) {
int temp;
temp = x; /* x का मान सहेजें */
x = y; /* y को x में डालें */
y = temp; /* temp को y में डालें */
}
static void Main(string[] args) {
NumberManipulator n = new NumberManipulator();
/* स्थानीय चर परिभाषा */
int a = 100;
int b = 200;
Console.WriteLine("स्वैप से पहले, a का मान: {0}", a);
Console.WriteLine("स्वैप से पहले, b का मान: {0}", b);
/* मानों को स्वैप करने के लिए फ़ंक्शन कॉल करें */
n.swap(ref a, ref b);
Console.WriteLine("स्वैप के बाद, a का मान: {0}", a);
Console.WriteLine("स्वैप के बाद, b का मान: {0}", b);
Console.ReadLine();
}
}
}
आउटपुट
यह निम्नलिखित आउटपुट देगा -
स्वैप से पहले, a का मान: 100 स्वैप से पहले, b का मान: 200 स्वैप के बाद, a का मान: 200 स्वैप के बाद, b का मान: 100