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

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

تستند المجموعات إلى الواجهة ICollection، أو الواجهة IList، أو الواجهة IDictionary، أو النسخ العامة لهم. IListواجهة و IDictionaryواجهة كلاهما مشتقة من ICollectionالواجهة؛ ولذلك، الجميع مجموعات تستند إلى ICollectionالواجهة بشكل مباشر أو غير مباشر. في مجموعات استناداً إلى IListواجهة (مثل Array، ArrayList، أو List<T>) أو مباشرة تشغيل ICollectionواجهة (مثل Queue، ConcurrentQueue<T>، Stack، ConcurrentStack<T>أو LinkedList<T>)، كل عنصر يحتوي تشغيل فقط القيمة. في مجموعات استناداً إلى IDictionaryواجهة (مثل Hashtableو SortedListفئات، Dictionary<TKey, TValue>و SortedList<TKey, TValue>الفئات العامة)، أو ConcurrentDictionary<TKey, TValue>فئات، كل عنصر يحتوي تشغيل كل من المفتاح وقيمة. الفئة KeyedCollection<TKey, TItem> فريدة لأنها عبارة عن قائمة للقيم مع مفاتيح مضمنة خلال القيم، و لذلك، فهي تتصرف كقائمة و كقاموس.

المجموعات العامة هي أفضل حل للحصول علي نوع قوي. ومع ذلك، إذا لم تدع لغتك العام، فستتضمن مساحة الاسم System.Collections المجموعات الأساسية مثل CollectionBase، و ReadOnlyCollectionBase، و DictionaryBase، وهي فئات أساسية مجردة يمكن توسيعها لإنشاء مجموعة فئات ذات نوع قوي. عند طلب الوصول إلى مجموعة ذات مؤشرات ترابط متعددة وذات كفاءة، فاستخدم المجموعات العامة في مساحة الاسم System.Collections.Concurrent.

يمكن أن تختلف المجموعات اعتماداً على كيفية تخزين العناصر و كيفية فرزها و كيفية تنفيذ عمليات البحث و كيفية إجراء المقارنات. توفر الفئة Queue و الفئة العامة Queue<T> قوائم الأول دخولاً هو الأول خروجاً، بينما توفر الفئة Stack و الفئة العامة Stack<T> قوائم الأخير دخولاً هو الأول خروجاً. توفر الفئة SortedList و الفئة العامة SortedList<TKey, TValue> إصدارات تم فرزها من الفئة Hashtable و الفئة العامة Dictionary<TKey, TValue>. يمكن الوصول إلي العناصر من Hashtable أو من Dictionary<TKey, TValue> فقط بواسطة مفتاح العنصر، ولكن يمكن الوصول إلي العناصر SortedList أو KeyedCollection<TKey, TItem> بواسطة المفتاح أو بواسطة فهرس العنصر. الفهارس في كافة مجموعات تستند إلي الصفر، باستثناء Array، و الذي يسمح للصفائف بأن تستند علي قيمة غير الصفر.

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

مواضيع ذات صلة

Title

الوصف

انواع صفيف مجموعة

توضح هذه المقالة ميزات الصفائف التي تمكنهم من أن يتم معاملتهم مثل المجموعات.

ArrayList ومجموعة قائمة صواب

توضح هذه المقالة ميزات القوائم العامة و غير العامة، و هي المجموعة الأكثر شيوعاً في الاستخدام.

أنواع مجموعات جدوال التجزئة والدلائل

توضح هذه المقالة الميزات العامة و غير العامة لأنواع القاموس المستندة إلى التجزئة.

أنواع مجموعة الحروف

وصف الفئات التي توفر وظيفة فرز لقوائم و تعيين.

انواع مجموعة قائمة الانتظار

توضح هذه المقالة الميزات الموجودة في قوائم الانتظار العامة و غير العامة.

أنواع مجموعة المكدس

توضح هذه المقالة الميزات الموجودة في المكدس العام و غير العام.

نوع مجموعة HashSet

تصف أنواع مجموعات System.Collections.Generic.HashSet<T> العامة.

عمليات تعيين HashSet و LINQ

تصف مجموعة العمليات المتوفرة من قبل نوع المجموعة System.Collections.Generic.HashSet<T> وعمليات LINQ Set.

مجموعات و بنيات البيانات

يتناول هذا الموضوع أنواع المجموعات المختلفة المتوفرة في .NET Framework، بما في ذلك المكدسات و قوائم الانتظار ,و القوائم ,و المصفوفات و البنيات.

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

يوضح هذه الموضوع المميزات العامة، بما في ذلك المجموعات العامة، والمفوضين, والواجهات التي يوفرها .NET Framework. يوفر هذا الموضوع ارتباطات لميزة وثائق C# و Visual Basic و Visual C++ ، و لدعم تقنيات مثل الانعكاس.

المرجع

System.Collections

System.Collections.Generic

System.Collections.ICollection

System.Collections.Generic.ICollection<T>

System.Collections.IList

System.Collections.Generic.IList<T>

System.Collections.IDictionary

System.Collections.Generic.IDictionary<TKey, TValue>