آموزش آرایه های پارامتری در سی شارپ

Ratings
(0)

سی شارپ به ما امکان می دهد تا یک ( و تنها یک) پارامتر خاص را برای یک تابع مشخص کنیم. این پارامتر، که باید آخرین پارامتر در تعریف تابع باشد، آرایه ی پارامتری(parameter array) نامیده می شود. آرایه های پارامتری، به ما امکان می دهند تا تابع ها را با استفاده از مقدار متغیری از پارامترها فراخوانی کنیم و آنها با استفاده از کلمه ی کلیدی params تعریف می شوند. 

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

static <returnType> <FunctionName>(<p1Type> <p1Name>, ..., params <type>[] <name>)
{
  ...
  return <returnValue>;
}

با استفاده از کدی همچون زیر، می توانیم این تابع را فراخوانی کنیم: 

<FunctionName>(<p1>, ..., <val1>, <val2>, ...)

مقادیر <val1> و <val2> و غیره، مقادیری از نوع <type> هستند که از آنها برای مقداردهی اولیه ی آرایه ی <name> استفاده می شود. تعداد آرگومان هایی که می توانیم در اینجا مشخص کنیم، تقریباً نامحدود است. تنها محدودیتی که وجود دارد این است که نوع تمام آنها باید برابر با <type> باشد. ما حتی می توانیم اصلاً هیچ آرگومانی را مشخص نکنیم. در مثال خودتان امتحان کنید زیر، یک تابع با یک پارامتر params تعریف می کنیم:


خودتان امتحان کنید: تبادل داده ها با یک تابع(بخش 2) : Ch06Ex03\Program.cs

1. یک اپلیکیشن کنسول جدید به نام Ch06Ex03 ایجاد کنید و آن را در آدرس زیر ذخیره کنید:

C:\BeginningCSharp7\Chapter06

2. کد زیرا را در فایل Program.cs قرار دهید:

class Program
{
  static int SumVals(params int[] vals)
  {
    int sum = 0;
    foreach (int val in vals)
    {
      sum += val;
    }
    return sum;
  }
  static void Main(string[] args)
  {
    int sum = SumVals(1, 5, 2, 9, 8);
    WriteLine($"Summed Values = {sum}");
    ReadKey();
  }
}

3. کدها را اجرا کنید. نتیجه در تصویر 6.3 نشان داده شده است:

(تصویر 6.3)

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

 


 این کدها چگونه کار می کند

تابع SumVals() با استفاده از کلمه ی کلیدی params تعریف شده است تا هر تعداد آرگومان int را قبول کند(نه دیگر موارد را):

static int SumVals(params int[] vals)
{
  ...
}

کد درون این تابع به سادگی روی مقادیر درون آرایه ی vals تکرار می زند و این مقادیر را با یکدیگر جمع می کند و نتیجه را برمی گرداند. در تابع Main()، تابع SumVals() را با پنج آرگومان از نوع integer فراخوانی می کنیم:

int sum = SumVals(1, 5, 2, 9, 8);

شما به راحتی می‌توانید این تابع را با هیچ، یک، دو یا 100 آرگومان صحیح(integer) فراخوانی کنید.هیچ محدودیتی برای تعداد آرگومان هایی که مشخص می کنیم، وجود ندارد. 


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

 

  • بازدید: 58

نوشتن دیدگاه

لطفا نظرات خود را بیان کنید. به سوالات در سریع ترین زمان پاسخ داده خواهد شد.اما به نکات زیر توجه کنید:
1. سعی کنید نظرات شما مرتبط با مقاله ی مورد نظر باشد، در غیر این صورت پاسخ داده نخواهد شد.
2. سوالات خود را به صورت کوتاه بیان کنید و از پرسیدن چند سوال به طور همزمان خودداری کنید.
3. سوال خود را به طور واضح بیان کنید و از کلمات مبهم استفاده نکنید.

ارسال