آموزش تابع های محلی(Local) در سی شارپ
در ابتدای این فصل، در جایی که مفهوم تابع معرفی شد، به این نکته اشاره شد که علت اینکه کد را در بیرون از تابع Main(string[] args) قرار می دهیم، این است که میتوانیم به جای چندین بار کدنویسی مجدد در همان برنامه، دوباره از آن استفاده کنیم.
ما می خواهیم تاکید کنیم که شما باید در بیشتر مواقع هنگام طراحی و ایجاد برنامههای خود، از این طرز فکر پیروی کنید.به یاد داشته باشید که در طول زمان، پیچیدگی یک برنامه می تواند به طور قابل توجهی، از طریق یک توسعه افزایش یابد. همان طور که قابلیت های برنامه افزایش می یابد، احتمالاً عملکردهای بسیار بیشتری برای فعال کردن آنها اضافه خواهد شد.
هرچه یک برنامه تابع های بیشتری داشته باشد، ایجاد تغییراتی مانند تعمیر باگ ها یا اضافه کردن ویژگی های جدید، برای دیگر برنامه نویسان سخت تر می شود. اینکه تغییرات سخت تر می شود، نه تنها بعلت تعداد تابع ها است، بلکه به خاطر این است که هدف اصلی تابع ها از بین می رود. بنابراین، چنین توابعی میتوانند برای دلایلی غیر از آنچه نویسنده اصلی در نظر داشته است، مورد استفاده قرار گیرند. که می تواند باعث شود وقتی تغییرات به اشتباه در آنها اعمال میشود، مشکلات جدی ایجاد شود.
اگر تاکنون احساس کرده اید که نیاز به تغییر تابع هایی دارید که خودتان آنها را ننوشته اید، به جای آن می توانید از یک تابع محلی(local) استفاده کنید. تابع های محلی به ما امکان می دهند تا یک تابع را در داخل متن یک تابع دیگر تعریف کنیم. انجام این کار به خوانایی و سرعت تفسیر(interpretation) هدف برنامه کمک می کند. بعنوان مثال، به کد زیر توجه کنید:
class Program
{
static void Main(string[] args)
{
int myNumber = 5;
WriteLine($"Main Function = {myNumber}");
DoubleIt(myNumber);
ReadLine();
void DoubleIt(int val)
{
val *= 2;
WriteLine($"Local Function - val = {val}");
}
}
}
توجه کنید که تابع DoubleIt() در داخل تابع Main(string[] args) قرار دارد. این تابع را نمی توانیم از دیگر تابع هایی که در داخل کلاس Program قرار دارند، صدا بزنیم . نتیجه ی این کد ساده، در تصویر 6.8 نشان داده شده است:
(تصویر 6.8)

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