متي تستخدم المجموعات العامة

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

في حالة البرامج التي تستهدف .NET Framework الإصدار 4 أو الأحدث، يجب عليك استخدام فئات المجموعات العامة في مساحة الاسم System.Collections.Concurrent عندما تقوم مؤشرات الترابط المتعددة بإضافة أو إزالة العناصر من المجموعة بشكل متزامن.

تتوافق مع الأنواع العامة التالية مع أنواع المجموعات الموجودة:

أنواع إضافية

عام عدة مجموعة لم يكن أنواع شريكة nongeneric. وتتضمن ما يلي:

  • LinkedList<T> هي قائمة مرتبطة عامة الغرض والتي توفر علمليات الإدراج O(1) و الإزالة.

  • SortedDictionary<TKey, TValue> هو قاموس مفروز ذو عمليات الإدراج O(logn) وعمليات الاسترداد، مما يجعل بديلاً جيداً لـ SortedList<TKey, TValue>.

  • KeyedCollection<TKey, TItem> هو خليط بين قائمة و قاموس، وهو يوفر طريقة لتخزين الكائنات التي تحتوي على المفاتيح الخاصة بها.

  • يقوم BlockingCollection<T> بتنفيذ فئة المجموعة مع وظيفة الإحاطة و الحظر.

  • يوفر ConcurrentBag<T> إدراج سريع وإزالة للعناصر غير المرتبة.

LINQ إلى الكائنات

LINQ إلى كائنات ميزة تمكنك من استخدام LINQ الاستعلامات للوصول إلى الكائنات في ذاكرة كـ طويلاً كـ بتطبيق نوع الكائنات في System.Collections.IEnumerableأو System.Collections.Generic.IEnumerable<T>الواجهة. توفر استعلامات LINQ نمط شائع للوصول إلى البيانات: عادة ما تكون أكثر إيجازاً وأكثر قابلية للقراءة من الحلقات القياسية foreach; وتوفر إمكانيات تصفية و ترتيب و تجميع. يمكن لاستعلامات LINQ أيضاً تحسين الأداء. للمزيد من المعلومات، راجع LINQ كائنات وLINQ متوازي (PLINQ).

وظيفة إضافية

لدى بعض الأنواع العامة وظائف لا توجد في أنواع المجموعات غير العامة. على سبيل المثال، الفئة List<T> التي تقابل الفئة ArrayList، وتحتوي على عدد من الأساليب التي تقبل المفوضين العوام مثل المفوض Predicate<T> الذي يسمح لك بتحديد أساليب البحث في القائمة، و المفوض Action<T> الذي يمثل الأساليب التي تعمل على كل عنصر في القائمة، و المفوض Converter<TInput, TOutput> الذي يتيح لك تحديد عمليات التحويل بين أنواع.

تسمح لك الفئة List<T> بتحديد تطبيقات الواجهة العامة IComparer<T> الخاصة بك للفرز والبحث في القائمة. SortedDictionary<TKey, TValue>و SortedList<TKey, TValue>فئات كما تتوفر هذه الإمكانية. بالإضافة إلى ذلك، فهذه الفئات ترك تعيين comparers عندما يتم تاريخ الإنشاء المجموعة. بشكل مشابه، Dictionary<TKey, TValue> KeyedCollection<TKey, TItem>فئات تسمح لك بتعيين comparers مساواة الخاص بك.

راجع أيضًا:

موارد أخرى

أنواع المجموعة المستخدمة بشكل شائع

المكونات العامة في .NET Framework