فحص الأنواع المعممة

مكتمل

تخيل أن لديك صندوقا يمكنه الاحتفاظ بعناصر مختلفة، مثل الأطفال أو الكتب أو الملابس. بدلا من إنشاء مربعات منفصلة لكل نوع من أنواع العناصر، يمكنك استخدام مربع واحد مع تسمية تحدد ما يحتوي عليه. على غرار كيفية عمل الأنواع المعممة في البرمجة، فإنها تسمح لك بإنشاء فئة أو أسلوب واحد يمكنه التعامل مع أنواع مختلفة من البيانات.

فهم الأنواع المعممة

يتم تمكين المطورين لتحديد الفئات والأساليب والواجهات مع العناصر النائبة لنوع البيانات باستخدام الأنواع المعممة. يحسن سلوك العنصر النائب هذا إمكانية إعادة استخدام التعليمات البرمجية، ويضمن أمان النوع عن طريق التقاط الأخطاء في وقت التحويل البرمجي، ويعزز الأداء عن طريق تجنب تحويلات النوع غير الضرورية.

  • إعادة استخدام التعليمات البرمجية: يمكنك استخدام نفس التعليمات البرمجية أنواع بيانات مختلفة.

  • أمان النوع: يتم اكتشاف الأخطاء المتعلقة وأنواع البيانات غير الصحيحة أثناء التحويل البرمجي.

  • الأداء: تتجنب الأنواع المعممة تحويلات النوع غير الضرورية، ما يجعل التعليمات البرمجية أسرع.

‏‫ملاحظة‬

توفر الأنواع المعممة فائدة عند العمل مع المجموعات، مثل القوائم أو القواميس، حيث يمكن أن يختلف نوع البيانات المخزنة.

كيف تسمح الأنواع المعممة بتعريف الفئات والأساليب والواجهات مع العناصر النائبة

تقدم الأنواع المعممة معلمات النوع، والتي تعمل كعناصر نائبة لأنواع البيانات. على سبيل المثال، بدلا من إنشاء فئة تعمل فقط مع الأعداد الصحيحة، يمكنك إنشاء فئة عامة تعمل مع أي نوع.

فيما يلي مثال على فئة عامة:

public class Box<T>
{
    public T Item { get; set; }

    public void AddItem(T item)
    {
        Item = item;
    }
}

في هذا المثال:

  • T هو معلمة النوع.

  • يمكنك إنشاء مثيلات Box<T> للأنوع المختلفة، مثل Box<int> أو Box<string>.

عند استخدام الأنواع المعممة، يستبدل المحول البرمجي معلمة النوع بالنوع الفعلي أثناء التحويل البرمجي، ما يضمن أمان النوع وتجنب أخطاء وقت التشغيل.

تلميح

فكر في T أنه "عنصر نائب" للنوع الذي تريد استخدامه. يجعل التعليمات البرمجية الخاصة بك مرنة وقابلة لإعادة الاستخدام.

إنشاء فئات وأساليب عامة

تستخدم الفئات والأساليب العامة بشكل شائع مع المجموعات، مثل List<T> و Dictionary<TKey, TValue>. توفر هذه المجموعات طرقا آمنة للنوع لتخزين البيانات ومعالجتها.

استخدام مثال قائمة عام:

List<int> numbers = new List<int>();
numbers.Add(1);
numbers.Add(2);
numbers.Add(3);

foreach (int number in numbers)
{
    Console.WriteLine(number);
}

توضح التعليمات البرمجية للقائمة العامة كيفية استخدام عام List<int> لتخزين الأعداد الصحيحة والتكرار من خلالها لطباعة كل رقم.

إنشاء مثال أسلوب عام:

public T GetFirstItem<T>(List<T> items)
{
    return items[0];
}

List<string> names = new List<string> {"Hannah", "Mario"};
string firstName = GetFirstItem(names);
Console.WriteLine(firstName);

يسترد هذا الأسلوب العام العنصر الأول من قائمة من أي نوع. على سبيل المثال، يحصل على الاسم الأول من قائمة السلاسل.

تلميح

استخدم الأنواع المعممة عندما تحتاج إلى كتابة تعليمات برمجية قابلة لإعادة الاستخدام تعمل مع أنواع بيانات متعددة مع ضمان أمان النوع.

تتيح لك الأنواع المعممة كتابة تعليمات برمجية مرنة وقابلة لإعادة الاستخدام باستخدام معلمات النوع مثل <T>. وهي تضمن أمان النوع وتبسيط العمل مع مجموعات مثل List<T> و Dictionary<TKey, TValue>. من خلال تعلم الأنواع المعممة، يمكنك إنشاء تعليمات برمجية قابلة للتكيف وفعالة مع تجنب الأخطاء الشائعة مثل النسيان لتحديد نوع أو استخدام أنواع غير متوافقة.