آموزش تابع های ساختاری(Struct) در سی شارپ

Ratings
(0)

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

struct CustomerName
{
  public string firstName, lastName;
}

 اگر متغیرهایی از نوع CustomerName داشته باشیم و بخواهیم یک نام کامل(نام و نام خانوادگی) را بعنوان خروجی، در کنسول نشان دهیم، مجبوریم این نام را از اجزاء تشکیل دهنده اش بسازیم. بعنوان مثال، می توانیم از سینتکس زیر برای ایجاد یک CustomerName به نام myCustomer استفاده کنیم:

CustomerName myCustomer;
myCustomer.firstName = "John";
myCustomer.lastName = "Franklin";
WriteLine($"{myCustomer.firstName} {myCustomer.lastName}");

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

struct CustomerName
{
  public string firstName, lastName;
  public string Name() => firstName + " " + lastName;
}

 این خیلی شبیه به دیگر تابع هایی که تا حالا دیده ایم، با نظر می رسد، با این اختلاف، که در اینجا از اصلاحگر static استفاده نکرده ایم. علت این موضوع را بعداً در این کتاب توضیح خواهیم داد. فعلاً فقط کافیست بدانید که استفاده از این کلمه ی کلیدی، برای تابع های ساختاری(struct) ضروری نیست. به صورت زیر می توانید از این تابع استفاده کنید:

CustomerName myCustomer;
myCustomer.firstName = "John";
myCustomer.lastName = "Franklin";
WriteLine(myCustomer.Name());

 این سینتکس بسیار ساده تر است و فهم آن نسبت به سینتکس قبلی، آسان تر است. تابع Name() دسترسی مستقیم به اعضای ساختار firstName و lastName دارد. آنها می توانند در داخل ساختار customer-Name به صورت سراسری(global) تلقی شوند. 

 

  • بازدید: 70

نوشتن دیدگاه

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

ارسال