خبر و ترفند روز

خبر و ترفند های روز را اینجا بخوانید!

پارامتر Out در سی شارپ چیست؟

آیا نیاز به برگرداندن بیش از یک مقدار از یک تابع دارید؟ پارامترهای خروجی پاسخ هستند.

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

راه های مختلفی وجود دارد که می توانید به این هدف برسید. یکی برگرداندن چندین مقدار در یک آرایه واحد است. همچنین می توانید مقادیری را به چندین متغیر سراسری از داخل تابع اختصاص دهید.

بسته به منطق کسب و کار، الزامات دامنه یا قراردادهای شما، راه دیگری برای رسیدن به این هدف استفاده از پارامترها است.

پارامتر Out چیست؟

روش استاندارد برای برگرداندن مقدار از یک تابع، استفاده از کلمه کلیدی “return” است. اگر با چیستی تابع آشنا نیستید، می توانید در مورد توابع در برنامه نویسی بیشتر بخوانید. شما همچنین می توانید سایر اصول اولیه برنامه نویسی را بررسی کنید.

static void Calculation()
{
    double number = 30;
    return number;
}

راه دیگر برای بازیابی یک مقدار از یک تابع استفاده از یک پارامتر “out” به جای آن است. شما می توانید یک پارامتر out را در امضای متد اعلام کنید. سپس می توانید از کلمه کلیدی “out” برای نشان دادن اینکه پارامتر یک پارامتر out است استفاده کنید.

به جای استفاده از کلمه کلیدی بازگشت، همیشه باید یک مقدار به پارامتر out اختصاص دهید.

static void Calculation(out double number)
{
    number = 30;
}

هنگامی که متد Calculation() را فراخوانی می کنید، یک متغیر برای پارامتر out ارسال کنید. برنامه مقدار متغیر “number” را در تابع Calculation() دریافت می کند و آن را به متغیر ورودی اختصاص می دهد. در این حالت مقدار “30” خروجی خواهد شد.

double number = 0;
 
// Gets the value of the "number" variable inside the Calculation() function, which is 30.
Calculation(out number);
 
// Prints the number 30
Console.WriteLine(number);

نحوه ایجاد یک تابع با پارامتر Out

یک تابع در داخل یک برنامه جدید کنسول سی شارپ ایجاد کنید و کلمه کلیدی “out” را به پارامتر بدهید.

  1. ویژوال استودیو را در رایانه خود باز کنید و روی Create a new project کلیک کنید.
  2. Console Application را انتخاب کرده و روی Next کلیک کنید.
  3. پروژه خود را نامگذاری کنید و مکانی را برای ذخیره فایل های ویژوال استودیو انتخاب کنید. روی Next کلیک کنید.
  4. روی Create کلیک کنید. ویژوال استودیو کد شروع یک برنامه کنسول ساده را تولید می کند.
  5. در زیر تابع Main() یک تابع جدید به نام CalculateTaxSalary() ایجاد کنید. هدف این تابع کسر مالیات از دستمزد افراد برای محاسبه حقوق دریافتی آنهاست. static double CalculateTaxSalary (حقوق بین‌المللی، خارج از مالیات دو برابر شده){}
  6. در داخل تابع، محاسبه حقوق دریافتی پس از کسر مالیات را اضافه کنید. نتیجه را برگردانید.static double CalculateTaxSalary(int salary){    const double taxRate = 0.3; دو برابر گرفتن خانه حقوق = حقوق – (حقوق * نرخ مالیات); بازگشت takeHomeSalary؛}
  7. خروجی پیش فرض “Hello World” را در تابع اصلی حذف کنید. در عوض، تابع CalculateTaxSalary() را فراخوانی کنید. نتیجه برگشتی از تابع را در console.static void Main(string[] args){    double takeHomeSalary = CalculateTaxSalary(100000) چاپ کنید. Console.WriteLine ($”حقوق دریافتی از 100000 دلار است {takeHomeSalary}”)؛}
  8. تابع CalculateTaxSalary() را تغییر دهید تا شما نیز نیاز به برگرداندن مقدار دوم داشته باشید. مقدار دوم شامل مبلغ مالیات شده است. از آنجایی که قبلاً از دستور return برای برگرداندن یک مقدار استفاده می کنید، به جای آن از یک پارامتر out استفاده کنید. یک پارامتر taxedAmount out به روش signature.static double CalculateTaxSalary (حقوق بین‌المللی، خارج از taxedAmount دو برابر) اضافه کنید.
  9. در تابع CalculateTaxSalary() مقدار مالیات اعمال شده بر حقوق را محاسبه کنید. نتیجه را به متغیر taxedAmount اختصاص دهید.static double CalculateTaxSalary (int salary, out double taxedAmount){    const double taxRate = 0.3; taxedAmount = حقوق و دستمزد * taxRate; دوبرابر takeHomeSalary = حقوق – taxedAmount; بازگشت takeHomeSalary؛}
مطلب مرتبط:   کار با تاریخ و زمان در Rust

ویژوال استودیو یک پروژه جدید ایجاد کنیدیک پروژه جدید Console App ایجاد کنیدپروژه جدید خود را نامگذاری و پیکربندی کنیدکد شروع برای برنامه کنسول ایجاد شد

static double CalculateTaxSalary(int salary, out double taxedAmount)
{
}

static double CalculateTaxSalary(int salary)
{
    const double taxRate = 0.3;
    double takeHomeSalary = salary - (salary * taxRate);
    return takeHomeSalary;
}

static void Main(string[] args)
{
    double takeHomeSalary = CalculateTaxSalary(100000);
    Console.WriteLine($"The take-home salary from $ 100,000 is $ {takeHomeSalary}");
}

static double CalculateTaxSalary(int salary, out double taxedAmount)

static double CalculateTaxSalary(int salary, out double taxedAmount)
{
    const double taxRate = 0.3;
    taxedAmount = salary * taxRate;
    double takeHomeSalary = salary - taxedAmount;
    return takeHomeSalary;
}

نحوه برگرداندن یک مقدار از یک پارامتر Out

برای بازیابی مقدار یک پارامتر out، تابع را فراخوانی کرده و مقدار پارامتر out را در یک متغیر محلی ذخیره کنید.

  1. کد موجود را از تابع Main() حذف کنید. یک متغیر جدید برای ذخیره مقدار مالیات شده ایجاد کنید.double taxedAmount = 0;
  2. تابع CalculateTaxSalary() را فراخوانی کنید. تابع با استفاده از بیانیه بازگشت، حقوق دریافتی را برمی گرداند. این تابع همچنین مقدار را از متغیر taxedAmount با استفاده از پارامتر out بازیابی می کند. مقدار را در متغیر taxedAmount در تابع اصلی ذخیره می‌کند.double takeHomeSalary = CalculateTaxSalary(100000، out taxedAmount);Console.WriteLine($”حقوق دریافتی از 100000 دلار {takeHomeSalary} است. مبلغی که مالیات گرفته شد. $ {taxedAmount} بود.”);

double taxedAmount = 0;

double takeHomeSalary = CalculateTaxSalary(100000, out taxedAmount);
Console.WriteLine($"The take-home salary from $ 100,000 is $ {takeHomeSalary}. The amount that was taxed was $ {taxedAmount}.");

نحوه استفاده از پارامترهای چندگانه

برای استفاده از چندین پارامتر out، یک تابع ایجاد کنید و کلمه کلیدی out را به تمام پارامترهایی که می خواهید مقداری از آنها برگردانید اضافه کنید.

  1. یک تابع جدید به نام MultipleValues() ایجاد کنید. سه پارامتر اضافه کنید و به هر یک از آنها یک مقدار اختصاص دهید.static void MultipleValues(out int a, out int b, out int c){    a = 10; b = 20; c = 30;}
  2. در تابع Main() برای هر یک از سه مقدار متغیرهای محلی ایجاد کنید.int a = 0;int b = 0;int c = 0;
  3. تابع MultipleValues() را فراخوانی کنید تا سه مقدار را از طریق پارامترهای out برگردانید.MultipleValues(out a, out b, out c);Console.WriteLine($”a: {a}, b: {b}, c: {c }”);

static void MultipleValues(out int a, out int b, out int c)
{
    a = 10;
    b = 20;
    c = 30;
}

int a = 0;
int b = 0;
int c = 0;

MultipleValues(out a, out b, out c);
Console.WriteLine($"a: {a}, b: {b}, c: {c}");

نحوه اجرای برنامه کنسول

هنگامی که برنامه را اجرا می کنید، یک پنجره خط فرمان باز می شود تا تمام عبارات چاپ شده در برنامه شما را به شما نشان دهد.

  1. در بالای برنامه ویژوال استودیو، روی دکمه سبز رنگ play کلیک کنید تا برنامه کنسول شروع شود.
  2. ویژوال استودیو برنامه را کامپایل کرده و یک خط فرمان باز می کند. خط فرمان نتایج خروجی را نمایش می دهد. این شامل مقادیری است که توابع به عنوان پارامترهای خروجی برگردانده اند.
مطلب مرتبط:   نحوه باز کردن یک فایل JAR با استفاده از خط فرمان

دکمه زمان اجرا ویژوال استودیونتیجه در زمان اجرا برای پارامترهای خروجی

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

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

اگر با اشیاء پیچیده و گروه‌هایی از داده‌ها سر و کار دارید، می‌توانید اشیاء را بر اساس یک کلاس نیز برگردانید. می‌توانید درباره نحوه ایجاد و استفاده از کلاس‌ها در سی شارپ اطلاعات بیشتری کسب کنید.