English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

دليل أساسي لتعلم C#

دليل متقدم لتعلم C#

C# موجه للأ�체ة (OOP)

C# مجموعات معممة وغير معممة

تتضمن C# أنواعًا خاصة لتخزين سلسلة من القيم أو الأجسام، وتُسمى هذه الأنواع مجموعات.

تتضمن C# نوعين من أنواع المجموعات: المجموعات غير المعممة والمجموعات المعممة.

تتضمن مساحة الأسماء System.Collections النوعيات غير المعممة للمجموعات، وتتضمن مساحة الأسماء System.Collections.Generic النوعيات المعممة للمجموعات.

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

المجموعات المعممة

تتضمن مساحة الأسماء System.Collections.Generic في C# الفئات المعممة التالية للمجموعات.

المجموعات المعممةالوصف
List<T>

يحتوي List<T> المعمم على عناصر معينة النوع. ينمو تلقائيًا عند إضافة العناصر.

Dictionary<TKey,TValue>يحتوي Dictionary<TKey,TValue> على أزواج المفاتيح والقيم.
SortedList<TKey,TValue>

يخزن SortedList أزواج المفاتيح والقيم. بالافتراض، يضيف العناصر تلقائيًا وفقًا للترتيب الأبجدي لل مفاتيح.

Queue<T>

يخزن Queue<T> القيم بشكل لآخر يأتي أولاً (FIFO) نمط. يبقى على ترتيب إضافة القيم. يقدم طريقة Enqueue() لإضافة القيم، بالإضافة إلى طريقة Dequeue() للبحث عن القيم من المجموعة.

Stack<T>يخزن Stack<T> القيم بشكل لآخر يأتي أولاً (LIFO). يقدم طريقة Push() لإضافة القيم، بالإضافة إلى طرق Pop() و Peek() للبحث عن القيم.
Hashset<T>يحتوي Hashset<T> على عناصر غير مكررة. يزيل العناصر المكررة.

المجموعات غير المعممة

المجموعات غير المعممةطريقة الاستخدام
ArrayList

يخزن ArrayList أي نوع من الأجسام، مثل الأعداد. ولكن، لا تحتاج إلى تحديد حجم ArrayList كما هو الحال في الأعداد، لأنه ينمو تلقائيًا.

SortedList

يخزن SortedList أزواج المفاتيح والقيم. بالافتراض، يرتب العناصر تلقائيًا وفقًا للترتيب الأبجدي لل مفاتيح. يحتوي C# على مجموعات SortedList معممة وغير معممة.

Stack

يخزن Stack القيم بشكل لآخر يأتي أولاً. يقدم طريقة Push() لإضافة القيم، بالإضافة إلى طرق Pop() و Peek() للبحث عن القيم. يحتوي C# على كلاً من Stack المعمم و Stack غير المعمم.

Queue

يخزن Queue القيم بطريقة先进 أولاً، أخر (FIFO) ويحافظ على ترتيب القيم المضافة. يوفر طريقة Enqueue() لضمان القيمة، ويوفر طريقة Dequeue() لاسترجاع القيمة من مجموعة. يشمل C# قوائم نوعية وغير نوعية.

Hashtable

يخزنHashtable زوجات المفاتيح والقيم. يتم استرجاع القيمة من خلال مقارنة القيمة المشتقة من المفتاح.

BitArray

يدير BitArray مجموعة من القيم الثنائية، التي تمثلها القيم الحالة، حيث يعتبر true قيمة مفعلة (1)، وfalse قيمة غير مفعلة.

في الفصل القادم، لنلقي نظرة على كل نوع من أنواع المجموعات.