ارسال پارامترها با ارجاع در سی شارپ – آموزش سی شارپ

csharp passing parameters by reference 4475 ارسال پارامترها با ارجاع در سی شارپ   آموزش سی شارپ

ارسال پارامترها با ارجاع در سی شارپ

در این روش یک ارجاع به متغیری که به عنوان پارامتر ارسال شده است، به متد منتقل می شود. بنابراین متد دسترسی مستقیم به مقدار آن پارامتر دارد و هر تغییری که درون متد اعمال شود بر روی مقدار اصلی نیز تاثیر می گذارد.

به منظور ارسال پارامترها با ارجاع باید از کلمه کلیدی 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

نتیجه بالا به خوبی نشان می دهد که تغییرات اعمال شده در داخل متد بر روی مقادیر اصلی نیز تاثیر گذاشته است.

نوشته ارسال پارامترها با ارجاع در سی شارپ – آموزش سی شارپ اولین بار در سورس سرا - آموزش برنامه نویسی. پدیدار شد.

درباره نویسنده: administrator

ممکن است دوست داشته باشید

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *