ارسال پارامترها با ارجاع در سی شارپ
در این روش یک ارجاع به متغیری که به عنوان پارامتر ارسال شده است، به متد منتقل می شود. بنابراین متد دسترسی مستقیم به مقدار آن پارامتر دارد و هر تغییری که درون متد اعمال شود بر روی مقدار اصلی نیز تاثیر می گذارد.
به منظور ارسال پارامترها با ارجاع باید از کلمه کلیدی ref استفاده کنید. مثال زیر این موضوع را نشان می دهد:
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
نتیجه بالا به خوبی نشان می دهد که تغییرات اعمال شده در داخل متد بر روی مقادیر اصلی نیز تاثیر گذاشته است.
نوشته ارسال پارامترها با ارجاع در سی شارپ – آموزش سی شارپ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.