المجموعات في NET Framework. باستخدام Visual Basic
يوفر .NET Framework فئات خاصة لاسترداد و تخزين البيانات. هذه الفئات توفر دعمًا للمكدسات و قوائم الانتظار و القوائم و جداول التجزئة. و معظم فئات المجموعة تطبق نفس الواجهات. و يمكنك إنشاء فئات المجموعة الخاصة بك ، إذا لزم الأمر، و ذلك بتنفيذ هذه الواجهات.
يجب عليك تحديد نوع المجموعة الذي يتناسب مع احتياجاتك.
الفروق بين Visual Basic و مجموعة فئات NET Framework.
يتم تعريف مجموعة فئات .NET Framework في مساحات الأسماء System.Collections, و System.Collections.Generic,و System.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.
يسرد جدول التالي بعض الفئات شائعة الاستخدام :
الفئة |
الوصف |
---|---|
تنفيذ واجهة IList باستخدام صفيف له حجم يزداد بشكل حيوي كما هو مطلوب. |
|
يدير صفيف مضغوط من قيم البت ، الذي يتم تمثيله كقيم Boolean ، حيث يشير True إلى أن البت على (1) و يشير False إلى أن البت على (0) أي تم إيقاف التشفيل . |
|
يمثل مجموعة من أزواج مفتاح/القيمة المنظمة اعتماداً على شفرة تجزئة المفتاح. |
|
يمثل مجموعة من كائنات أول الداخلين هو أول الخارجين (FIFO) . |
|
تمثل مجموعة بسيطة غير عامة من كائنات آخر الداخلين هو أول الخارجين (LIFO) . |
فئات System.Collections.Generic و System.Collections.ObjectModel
توفر مساحات الاسم System.Collections.Generic و System.Collections.ObjectModel الأنواع العامة ، التي تسمح لك بإنشاء مجموعات مكتوب بشدة و تحدد نوع بيانات العنصر عند إنشائها .
يسرد جدول التالي بعض الفئات شائعة الاستخدام :
الفئة |
الوصف |
---|---|
يوفر الفئة الأساسة لمجموعة عامة . |
|
يمثل مجموعة من أزواج مفتاح/القيمة المنظمة اعتماداً على المفتاح. |
|
توفر فئة قاعدة تجريدية لمجموعة من المفاتيح التي يتم تضمينها في القيم . |
|
تمثل قائمة مرتبطة على نحو مضاعف . |
|
يمثل عقدة في LinkedList<T>. و هذه الفئة لا يمكن أن تكون موروثة. |
|
تنفيذ واجهة IList<T> باستخدام صفيف له حجم يزداد بشكل حيوي كما هو مطلوب. |
|
يمثل مجموعة من كائنات أول الداخلين هو أول الخارجين (FIFO) . |
|
يمثل مجموعة من أزواج مفتاح/القيمة التي يتم فرزها في المفتاح . |
|
يمثل مجموعة من أزواج مفتاح/القيمة التي يتم فرزها حسب المفتاح استناداً إلى التطبيق المقترن IComparer<T>. |
|
يمثل مجموعة متغيرة الحجم من مثيلات من نفس النوع الإجباري من (LIFO) الداخل أخيراً خارج أولاً . |
|
يوفر الفئة الأساسية لمجموعة القراءة فقط العامة . |
فئات System.Collections.Specialized
توفر مساحة الاسم System.Collections.Specialized الفئات مجموعة مكتوب بشدة و متخصصة مثل القواميس المختلطة ، و القائمة المرتبطة و مجموعات السلسلة فقط .
يسرد جدول التالي بعض الفئات شائعة الاستخدام :
الفئة |
الوصف |
---|---|
إنشاء مجموعات التي تتجاهل الحالة في السلاسل . |
|
تنفذ IDictionary باستخدام ListDictionary بينما المجموعة صغيرة و من ثم يتم التبديل إلى Hashtable عندما تكبر المجموعة . |
|
تنفذ IDictionary باستخدام قائمة مرتبطة مفردة . مستحسن للمجموعات التي عادةً ما تحتوي على 10 عناصر أو أقل . |
|
يوفر فئة أساسية مجردة لمجموعة من مفاتيح السلسلة المقترن و قيم الكائن التي يمكن الوصول إليها باستخدام المفتاح أو مع الفهرس . |
|
يوفر فئة أساسية مجردة لمجموعة من مفاتيح السلسلة المقترن و قيم السلسلة التي يمكن الوصول إليها باستخدام المفتاح أو مع الفهرس . |
|
يمثل مجموعة من أزواج مفتاح/القيمة المرتبة وفقاً للمفتاح أو الفهرس . |
|
يمثل مجموعة من السلاسل. |
|
ينفذ جدول تجزئة مع المفتاح و مع القيمة المكتوبة بشدة لتكون سلاسل بدلاً من كائنات . |