المجموعات في NET Framework. باستخدام Visual Basic

يوفر .NET Framework فئات خاصة لاسترداد و تخزين البيانات. هذه الفئات توفر دعمًا للمكدسات و قوائم الانتظار و القوائم و جداول التجزئة. و معظم فئات المجموعة تطبق نفس الواجهات. و يمكنك إنشاء فئات المجموعة الخاصة بك ، إذا لزم الأمر، و ذلك بتنفيذ هذه الواجهات.

يجب عليك تحديد نوع المجموعة الذي يتناسب مع احتياجاتك.

الفروق بين Visual Basic و مجموعة فئات NET Framework.

يتم تعريف مجموعة فئات .NET Framework في مساحات الأسماء System.Collections, و System.Collections.GenericSystem.Collections.Specialized، و System.Collections.ObjectModel . و الاختلافات الرئيسية فيما بين فئات مجموعة Visual Basic و .NET Framework تتضمن ما يلي:

  • الفهرس الأساسي. تستند مجموعات .NET Framework إلى الصفر ، في حين مجموعة Visual Basic تستند إلى الواحد . وهذا يعني أنه عناصر من Visual Basic تتوفر مجموعة قيم الفهرس من 1 إلى قيمة الخاصية Count ، بينما عناصر من .NET Framework تتوفر مجموعة قيم الفهرس من 0 إلى أقل من قيمة خاصية المجموعة واحدة Count.

  • نوع العنصر. مجموعة Visual Basic تدعم العناصر من النوع Object . هذه المجموعة ليست من النوع الآمن — يمكنك إضافة عنصر من أي نوع بيانات . عادةً ما ينتج عن هذا أداء منخفض لأنه يجب تحويل العناصر من Object إلى نوعها الصحيح .

    بعض مجموعات .NET Framework أيضاً لديها عناصر من النوع Object، لكن العديد من الآخرين مكتوبين بشدة ، مما يعني أنها تدعم عناصر من نوع محدد ، و الذي يجعلهم من النوع الآمن و عادةً ينتج عن ذلك الأداء الأمثل.

  • عناصر keyed (المقفولة). تسمح المجموعة Visual Basic لك بتحديد المفتاح عند إضافة عنصر له. المفتاح يعتبر قيمة سلسلة فريدة و التي يمكنك استخدامها فيما بعد للوصول إلى ذلك العنصر المعين. تختلف مجموعات .NET Framework وفقٌاً للمفاتيح. بعضها يدعم المفاتيح و البعض لا.

فئات System.Collections

الفئات في مساحة الاسم System.Collections لا تقم بتخزين عناصر مثل الكائنات المكتوبة خصيصاً و لكن ككائنات من النوع Object.

يسرد جدول التالي بعض الفئات شائعة الاستخدام :

الفئة

الوصف

ArrayList

تنفيذ واجهة IList باستخدام صفيف له حجم يزداد بشكل حيوي كما هو مطلوب.

BitArray

يدير صفيف مضغوط من قيم البت ، الذي يتم تمثيله كقيم Boolean ، حيث يشير True إلى أن البت على (1) و يشير False إلى أن البت على (0) أي تم إيقاف التشفيل .

Hashtable

يمثل مجموعة من أزواج مفتاح/القيمة المنظمة اعتماداً على شفرة تجزئة المفتاح.

Queue

يمثل مجموعة من كائنات أول الداخلين هو أول الخارجين (FIFO) .

Stack

تمثل مجموعة بسيطة غير عامة من كائنات آخر الداخلين هو أول الخارجين (LIFO) .

فئات System.Collections.Generic و System.Collections.ObjectModel

توفر مساحات الاسم System.Collections.Generic و System.Collections.ObjectModel الأنواع العامة ، التي تسمح لك بإنشاء مجموعات مكتوب بشدة و تحدد نوع بيانات العنصر عند إنشائها .

يسرد جدول التالي بعض الفئات شائعة الاستخدام :

الفئة

الوصف

Collection<T>

يوفر الفئة الأساسة لمجموعة عامة .

Dictionary<TKey, TValue>

يمثل مجموعة من أزواج مفتاح/القيمة المنظمة اعتماداً على المفتاح.

KeyedCollection<TKey, TItem>

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

LinkedList<T>

تمثل قائمة مرتبطة على نحو مضاعف .

LinkedListNode<T>

يمثل عقدة في LinkedList<T>. و هذه الفئة لا يمكن أن تكون موروثة.

List<T>

تنفيذ واجهة IList<T> باستخدام صفيف له حجم يزداد بشكل حيوي كما هو مطلوب.

Queue<T>

يمثل مجموعة من كائنات أول الداخلين هو أول الخارجين (FIFO) .

SortedDictionary<TKey, TValue>

يمثل مجموعة من أزواج مفتاح/القيمة التي يتم فرزها في المفتاح .

SortedList<TKey, TValue>

يمثل مجموعة من أزواج مفتاح/القيمة التي يتم فرزها حسب المفتاح استناداً إلى التطبيق المقترن IComparer<T>.

Stack<T>

يمثل مجموعة متغيرة الحجم من مثيلات من نفس النوع الإجباري من (LIFO) الداخل أخيراً خارج أولاً .

ReadOnlyCollection<T>

يوفر الفئة الأساسية لمجموعة القراءة فقط العامة .

فئات System.Collections.Specialized

توفر مساحة الاسم System.Collections.Specialized الفئات مجموعة مكتوب بشدة و متخصصة مثل القواميس المختلطة ، و القائمة المرتبطة و مجموعات السلسلة فقط .

يسرد جدول التالي بعض الفئات شائعة الاستخدام :

الفئة

الوصف

CollectionsUtil

إنشاء مجموعات التي تتجاهل الحالة في السلاسل .

HybridDictionary

تنفذ IDictionary باستخدام ListDictionary بينما المجموعة صغيرة و من ثم يتم التبديل إلى Hashtable عندما تكبر المجموعة .

ListDictionary

تنفذ IDictionary باستخدام قائمة مرتبطة مفردة . مستحسن للمجموعات التي عادةً ما تحتوي على 10 عناصر أو أقل .

NameObjectCollectionBase

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

NameValueCollection

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

OrderedDictionary

يمثل مجموعة من أزواج مفتاح/القيمة المرتبة وفقاً للمفتاح أو الفهرس .

StringCollection

يمثل مجموعة من السلاسل.

StringDictionary

ينفذ جدول تجزئة مع المفتاح و مع القيمة المكتوبة بشدة لتكون سلاسل بدلاً من كائنات .

راجع أيضًا:

المرجع

Collection

المبادئ

مجموعات في Visual Basic

موارد أخرى

الانتقال أبعد مع Visual Basic