آموزش سی شارپ

مباحث پایه سی شارپ

مباحث پیشرفه سی شارپ

دستورات سی شارپ

متدها (Methods) در سی شارپ – آموزش سی شارپ

  • شنبه ۱۷ آذر ۱۳۹۷
  • بازدید ۱,۹۱۶ نفر

csharp methods 4471 تصویر

متدها (Methods) در سی شارپ

یک متد مجموعه از دستورات است که با هم یک کار را انجام می دهند. همه برنامه های C# یک کلاس با متد Main() را دارد.

به منظور استفاده از یک متد باید:

  • آن را تعریف کنید
  • آن را فراخوانی کنید

تعریف یک متد در C#

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

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

  • Access Specifier : مشخصه دسترسی متد را مشخص می کند.
  • Return Type : نوع داده ای که قرار است از متد بازگشت داده شود را مشخص می کند. اگر هیچ مقدار بازگشتی وجود نداشته باشد، به صورت void نوشته می شود.
  • Method Name : نام متد را مشخص می کند که باید منحصر به فرد باشد و به حروف بزرگ و کوچک حساس است.
  • Parameter List : لیست پارامترهای یک متد را به منظور انتقال و دریافت داده ها مشخص می کند. یک متد می تواند هیچ پارامتری نداشته باشد.
  • Method Body : دستورات لازم برای انجام فرآیندی که متد قرار است انجام دهد را مشخص می کند.

مثال

تکه کد زیر تابع FindMax() را نشان می دهد که دو عدد می گیرد و هر کدام از آن ها که بزرگتر باشد را به عنوان خروجی باز میگرداند. از آنجایی که این متد داری مشخصه public است پس در خارج از کلاس نیز قابل دسترسی می باشد.

فراخوانی متد در C#

برای فراخوانی و اجرای یک متد باید از نامی که برای آن تعریف کرده اید استفاده کنید. مثال زیر نحوه فراخوانی متد را نشان می دهد:

امتحان کنید

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

با نمونه سازی از یک کلاس می توانید به اعضای عمومی آن دسترسی داشته باشید. برای مثال متد FindMax() که متلق به کلاس NumberManipulator است، در خارج از این کلاس و در کلاس تست فراخوانی می شود.

امتحان کنید

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

فراخوانی متد به صورت بازگشتی

متدی که خودش را فراخوانی کند، به عنوان متد بازگشتی شناخته می شود. در مثال زیر با استفاده از متد بازگشتی فاکتوریل عدد داده شده را محاسبه می کنیم:

امتحان کنید

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

ارسال پارامترها به متد

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

ردیفتوضیحات
۱ارسال پارامتر با مقدار

در این روش فقط یک کپی از مقدار اصلی به متد ارسال می شود و تغییرات اعمال شده در متد تاثیری بر مقدار اصلی ندارد.

۲ارسال پارامتر به صورت ارجاع

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

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

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

ثبت نظر
ریفریش کنید!
نظرات کاربران (۰ مورد)

هیچ نظری ثبت نشده است