#csharp_for_beginners
در برنامهنویسی، معمولاً کلاسها و متدها برای نوع خاصی از داده طراحی میشوند. برای مثال ممکن است یک کلاس فقط برای اعداد صحیح یا فقط برای رشتهها نوشته شود. این موضوع باعث افزایش حجم کد و کاهش انعطافپذیری برنامه میشود. Generics این مشکل را حل میکند و امکان تعریف کلاسها و متدهای عمومی را فراهم میسازد.
در جنریکها از پارامتر نوع (Type Parameter) استفاده میشود که معمولاً با حرف T نمایش داده میشود. این پارامتر هنگام ساخت شیء، با نوع واقعی داده جایگزین خواهد شد.
ساختار کلاس Generic
ساختار کلی یک کلاس جنریک به شکل زیر است:
class ClassName<T>
{
T data;
public ClassName(T value)
{
data = value;
}
public void Display()
{
Console.WriteLine(data);
}
}
در این مثال، T میتواند هر نوع دادهای مانند int، string یا حتی کلاسهای سفارشی باشد.
افزایش قابلیت استفاده مجدد از کد
با استفاده از Generics میتوان یک کلاس یا متد را برای انواع مختلف داده استفاده کرد و دیگر نیازی به نوشتن کلاسهای جداگانه نیست.
جنریک (Generic) با چند پارامتر نوع
در سیشارپ میتوان از چند پارامتر نوع نیز استفاده کرد:
class Pair<T1, T2>
{
public T1 First;
public T2 Second;
public Pair(T1 first, T2 second)
{
First = first;
Second = second;
}
}
نمونه استفاده:
Pair<int, string> pair = new Pair<int, string>(1, "One");
در این مثال، T1 برابر int و T2 برابر string خواهد بود.
کاربرد Generics در کتابخانههای سیشارپ
بسیاری از کلاسهای آماده در فضای نام System.Collections.Generic بر پایه جنریکها ساخته شدهاند. برای مثال:
List<T>
Dictionary<TKey, TValue>
Queue<T>
Stack<T>
این کلاسها امکان ذخیره و مدیریت دادهها را به صورت ایمن و بهینه فراهم میکنند.
🔗 مطلب کامل را در این لینک میتوانید مطالعه کنید.
⁉️ برای بحث و تبادل نظر فنی در مورد این پست، نظرات خود را با ما در قسمت کامنتها به اشتراک بگذارید.
کانال تلگرام:
@SoftwarePhilosophy
______