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

۱۳۹۷-۰۹-۱۸
ارسال پارامتر به عنوان خروجی در سی شارپ در حالت عادی یک تابع فقط می تواند یک مقدار را باز گرداند، اما با استفاده از پارامترهای output می توان بیش از یک مقدار را باز گرداند. پارامترهای output شبیه پارامترهای ارجاعی هستند، با این تفاوت که آن ها داده ها را به جای آن که به داخل تابع منتقل کنند به ...

csharp passing parameters by output 4483 ارسال پارامتر به عنوان خروجی در سی شارپ   آموزش سی شارپ

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

در حالت عادی یک تابع فقط می تواند یک مقدار را باز گرداند، اما با استفاده از پارامترهای output می توان بیش از یک مقدار را باز گرداند. پارامترهای output شبیه پارامترهای ارجاعی هستند، با این تفاوت که آن ها داده ها را به جای آن که به داخل تابع منتقل کنند به خارج از آن ارسال می کنند.

مثال زیر این موضوع را نشان می دهد:

using System;
namespace CalculatorApplication {
   class NumberManipulator {
      public void getValue(out int x ) {
         int temp = 5;
         x = temp;
      }
      static void Main(string[] args) {
         NumberManipulator n = new NumberManipulator();
         /* local variable definition */
         int a = 100;
         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 : 100
After method call, value of a : 5

همان طور که در کد بالا مشاهده می کنید، برای تعریف این نوع از پارامترها باید از کلمه کلیدی out استفاده کنید. این نوع از پارامترها زمانی بدرد می خورند که بخواهیم بدون تخصیص یک مقدار اولیه به پارامتر، آن را از تابع به عنوان خروجی دریافت کنیم. برای درک بهتر به مثال زیر توجه کنید:

using System;
namespace CalculatorApplication {
   class NumberManipulator {
      public void getValues(out int x, out int y ) {
          Console.WriteLine("Enter the first value: ");
          x = Convert.ToInt32(Console.ReadLine());
          Console.WriteLine("Enter the second value: ");
          y = Convert.ToInt32(Console.ReadLine());
      }
      static void Main(string[] args) {
         NumberManipulator n = new NumberManipulator();
         /* local variable definition */
         int a , b;
         /* calling a function to get the values */
         n.getValues(out a, out b);
         Console.WriteLine("After method call, value of a : {0}", a);
         Console.WriteLine("After method call, value of b : {0}", b);
         Console.ReadLine();
      }
   }
}

امتحان کنید

زمانی که کد بالا کامپایل و اجرا شود، نتیجه زیر را تولید خواهد کرد:

Enter the first value:
7
Enter the second value:
8
After method call, value of a : 7
After method call, value of b : 8

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