العمل مع مجموعات البيانات: القوائم والقواميس وقوائم الانتظار
تعمّق في مجموعات C# لإدارة البيانات الديناميكية بكفاءة
العمل مع مجموعات البيانات: القوائم والقواميس وقوائم الانتظار درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 6 من أصل 6. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 6 دروس في المجموع.
التعامل مع المجموعات: القوائم والقواميس وقوائم الانتظار
مرحبًا بك في الدرس التالي! في هذا الدرس، ستتعلم عن المجموعات في C#، بما في ذلك القوائم والقواميس وقوائم الانتظار، وكيفية استخدامها بفاعلية في برامجك. لنبدأ!

ما المجموعات؟
المجموعات في C# هي فئات تخزّن مجموعات من الكائنات المرتبطة وتديرها. وعلى خلاف المصفوفات، تتميز المجموعات بالديناميكية وتوفر مرونة ووظائف أكبر.
نقطة مهمة: تسهّل المجموعات التعامل مع مجموعات البيانات من خلال توفير أساليب مضمّنة لإضافة العناصر وإزالتها والبحث عنها.
التعامل مع القوائم
القائمة هي مجموعة تسمح بالعناصر المكررة وتحافظ على ترتيبها. مثال:
تلميح: استخدم القوائم عندما تحتاج إلى تخزين مجموعات البيانات المرتبة ومعالجتها.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
List<string> names = new List<string> { "Alice", "Bob", "Charlie" };
names.Add("Diana"); // Add an element
names.Remove("Bob"); // Remove an element
Console.WriteLine("Names:");
foreach (string name in names) {
Console.WriteLine(name);
}
}
}
التعامل مع القواميس
القاموس هو مجموعة من أزواج المفتاح والقيمة. ويكون كل مفتاح فريدًا، ويُستخدم للوصول إلى القيمة المرتبطة به. مثال:
نقطة مهمة: القواميس مثالية للحالات التي تحتاج فيها إلى عمليات بحث سريعة تستند إلى مفاتيح فريدة.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Dictionary<string, int> ages = new Dictionary<string, int> {
{ "Alice", 25 },
{ "Bob", 30 },
{ "Charlie", 35 }
};
ages["Diana"] = 28; // Add a key-value pair
ages.Remove("Bob"); // Remove a key-value pair
Console.WriteLine("Ages:");
foreach (var entry in ages) {
Console.WriteLine($"{entry.Key}: {entry.Value}");
}
}
}
التعامل مع قوائم الانتظار
قائمة الانتظار هي مجموعة تتبع مبدأ الداخل أولًا يخرج أولًا (FIFO). تُضاف العناصر في النهاية وتُزال من المقدمة. مثال:
تلميح: استخدم قوائم الانتظار للمهام التي يجب معالجتها بالترتيب الذي أُضيفت به.
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Queue<string> tasks = new Queue<string>();
tasks.Enqueue("Task 1"); // Add to the queue
tasks.Enqueue("Task 2");
tasks.Enqueue("Task 3");
Console.WriteLine("Processing tasks:");
while (tasks.Count > 0) {
Console.WriteLine(tasks.Dequeue()); // Remove from the queue
}
}
}
مقارنة المجموعات
إليك مقارنة سريعة بين المجموعات:
- القائمة: تحافظ على الترتيب، وتسمح بالعناصر المكررة، وتوفر وصولًا باستخدام الفهرس.
- القاموس: يخزّن أزواج المفتاح والقيمة لإجراء عمليات بحث سريعة.
- قائمة الانتظار: تعالج العناصر بترتيب الداخل أولًا يخرج أولًا.
تلميح: اختر نوع المجموعة الأنسب لحالة الاستخدام لديك.
تحدي تدريبي
أنشئ برنامجًا يستخدم قاموسًا لتخزين أسعار المنتجات وقائمة انتظار لمحاكاة إتمام شراء العملاء. مثال:
using System;
using System.Collections.Generic;
class Program {
static void Main() {
Dictionary<string, double> products = new Dictionary<string, double> {
{ "Apple", 0.5 },
{ "Banana", 0.3 },
{ "Carrot", 0.2 }
};
Queue<string> customers = new Queue<string>();
customers.Enqueue("Customer 1");
customers.Enqueue("Customer 2");
Console.WriteLine("Processing customers:");
while (customers.Count > 0) {
string customer = customers.Dequeue();
Console.WriteLine($"{customer} is buying:");
foreach (var product in products) {
Console.WriteLine($"- {product.Key}: ${product.Value}");
}
}
}
}
أفضل الممارسات للمجموعات
إليك بعض أفضل الممارسات:
- اختر نوع المجموعة المناسب بناءً على متطلباتك، مثل عمليات البحث السريعة أو الحفاظ على الترتيب أو المعالجة وفق مبدأ الداخل أولًا يخرج أولًا.
- استخدم المجموعات العامة، مثل
List<T>وDictionary<TKey, TValue>، لضمان أمان الأنواع. - تحقق دائمًا من أن المجموعات ليست فارغة أو تساوي null قبل الوصول إلى العناصر.
تلميح: يمكن أن تجعل إدارة المجموعات بطريقة صحيحة التعليمات البرمجية أكثر كفاءة ووضوحًا.
أحسنت
تهانينا! لقد تعلمت كيفية استخدام القوائم والقواميس وقوائم الانتظار لإدارة البيانات ديناميكيًا في C#. بهذا نختتم فئة مفاهيم البرمجة المتقدمة. واصل البرمجة واستكشف المزيد من الموضوعات المتقدمة في رحلتك التطويرية!

تعلم C# مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 93
- الدروس
- 346
الأسئلة الشائعة
هل درس «العمل مع مجموعات البيانات: القوائم والقواميس وقوائم الانتظار» مجاني؟
نعم — نص درس «العمل مع مجموعات البيانات: القوائم والقواميس وقوائم الانتظار» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 6 دروس في المجموع.
ماذا ستتعلم في «العمل مع مجموعات البيانات: القوائم والقواميس وقوائم الانتظار»؟
تعمّق في مجموعات C# لإدارة البيانات الديناميكية بكفاءة تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 6 من أصل 6.
كم من الوقت يستغرق درس «العمل مع مجموعات البيانات: القوائم والقواميس وقوائم الانتظار»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- مقدمة إلى الواجهات
- الفئات المجرّدة
- الأعضاء والأساليب الساكنة
- استكشاف التعدادات والبُنى
- المفوضات والأحداث
- العمل مع مجموعات البيانات: القوائم والقواميس وقوائم الانتظار