(برنامه نویسی سی شارپ ) کار با توابع Function در زبان #C و پارامترهای تابع در #C (مهندسی برق _ الکترونیک)
پژوهشگر و نویسنده: دکتر ( افشین رشید )
نکته: یک تابع یا Function در #C ،به شما امکان می دهد مجموعه ای از دستورات را درون یک ظرف مشخص قرار داده و در هر جای برنامه که لازم داشتید، با به کار بردن نام تابع آن ها را فراخوانی کنید.
در برنامه نویسی پروژه ها، شما گاهی مجبور می شوید تا یک قطعه کد را در چندین محل مختلف مورد استفاده قرار دهید، در این حالت است که تابع ها (Function ) به کمک شما می آیند. از طرف دیگر، به وسیله توابع شما می توانید کد های پروژه خود را به بخش های مجزا و قابل تفکیک از هم تبدیل کنید.
برای فراخوانی یک تابع، کافی است نام آن را نوشته و سپس یک پرانتز باز و بسته در مقابل آن قرار دهید. اگر تابع شما دارای یک یا چند پارامتر باشد، لیست پارامترها را هم در همین پرانتز قرار می دهید. به صورت زیر :
FunctionName (Parameter1, Parameter2,…)
public void DoStuff()
{
در کد تابع، اولین بخش فراخوانی تابع، یعنی کلمه (پیش فرض) ،تعیین کننده میدان دید تابع در سطح برنامه بوده و تعیین آن اختیاری است. میدان دید یک تابع مشخص می کند آیا سایر توابع و کلاس های موجود در برنامه امکان مشاهده و دسترسی تابع مورد نظر را خواهند داشت . Public به معنای عمومی بوده و یعنی سایر کلاس ها و توابع دیگر برنامه می توانند به تابع فوق دسترسی داشته باشند.
نکته مهم : اگر میدان دید برای یک تابع تعیین نشود، به صورت پیش فرض Private یا خصوصی در نظر گرفته می شود. Private تابع های هم کلاس تابع مورد نظر امکان دسترسی مستقیم به تابع را دارند.
پارامترهای تابع در زبان #C تغییر دهنده های ref و out
اولین چیزی که پارامترهای تابع در زبان #C را شامل میشود ، تغییر دهنده های ref و out یا modifiers هستند. زبان #C همانند اکثر زبان های برنامه نویسی دیگر، بین متغیرهای ارسال با مقدار “value by “و ارسال با رفرنس by““refrence تفاوت قائل می شود. حالت پیش فرض در زبان #C ،ارسال با مقدار یا “value by “است. این حالت به معنای آن است که وقتی شمایک متغیر را به تابع ای به عنوان پارامتر ارسال می کنید، در واقع یک کپی از آن شی را می فرستید و نه رفرنس به آدرس عمل واقعی متغیر ؛ از طرف دیگر این کار به این معنی است که شما می توانید تغییرات و عملیات مورد نظر خود را بر روی متغیر پارامتر ارسالی انجام دهید. بدون این که شی اصلی آن متغیر را در حافظه دستکاری نمایید و به عبارت دیگر هر کاری بر روی پارامتر در درون تابع انجام می دهید، بر روی نسخه کپی آن اجرا می شود.با استفاده از واژه های کلیدی ref و out می توانید عملکرد فوق را تغییر داده و نسخه اصلی یک متغیر را به جای مقدار آن به تابع ارسال نمایید.
پژوهشگر و نویسنده: دکتر ( افشین رشید )