المصفوفات والتقطيع وList<T> وDictionary<TKey,TValue>
أنشئ المصفوفات واستخدمها، وانسخ جزءًا منها، وتعامَل مع List وDictionary للعناصر الديناميكية وعمليات البحث القائمة على المفاتيح.
المصفوفات والتقطيع وList<T> وDictionary<TKey,TValue> درس مجاني في C# Academy على CoddyKit. هذا هو الدرس 1 من أصل 3. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في C# Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة C# Academy 3 دروس في المجموع.
نظرة عامة على الدرس
الهدف: اختر الحاوية المناسبة.
- Array: حجم ثابت وفهرسة سريعة
- List<T>: يزداد حجمه وينقص
- Dictionary<TKey,TValue>: بحث سريع بالمفتاح
- نسخ جزء بسيط من المصفوفة
أساسيات Array
المصفوفات ثابتة الحجم وقابلة للفهرسة. استخدم Length والفهارس التي تبدأ من الصفر.
using System;
public class Program
{
public static void Main(string[] args)
{
int[] nums = new int[] { 10, 20, 30 };
Console.WriteLine("Length = " + nums.Length);
Console.WriteLine("First = " + nums[0]);
Console.WriteLine("Last = " + nums[nums.Length - 1]);
// Update by index
nums[1] = 25;
Console.WriteLine("Updated middle = " + nums[1]);
}
}
نسخ جزء من المصفوفة
لا يوجد معامل نطاق في C# 6. أنشئ أسلوبًا مساعدًا صغيرًا باستخدام Array.Copy لنسخ جزء من المصفوفة.
using System;
public class Program
{
// Copy a slice [start, start+count) into a new array
public static int[] Slice(int[] src, int start, int count)
{
int[] dst = new int[count];
Array.Copy(src, start, dst, 0, count);
return dst;
}
public static void Main(string[] args)
{
int[] data = new int[] { 5, 6, 7, 8, 9 };
int[] middle = Slice(data, 1, 3); // {6,7,8}
Console.WriteLine("Slice len=" + middle.Length + " first=" + middle[0] + " last=" + middle[middle.Length - 1]);
}
}
أساسيات List<T>
تغيّر List<T> حجمها تلقائيًا. استخدم Add/Insert/Remove وCount.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
List<string> items = new List<string>();
items.Add("apple");
items.Add("banana");
items.Insert(1, "kiwi"); // apple, kiwi, banana
Console.WriteLine("Count = " + items.Count);
Console.WriteLine("Second = " + items[1]);
items.Remove("apple");
Console.WriteLine("After remove, first = " + items[0]);
}
}
أساسيات Dictionary
يخزّن Dictionary أزواج المفتاح والقيمة. استخدم ContainsKey/TryGetValue لإجراء عمليات بحث آمنة.
using System;
using System.Collections.Generic;
public class Program
{
public static void Main(string[] args)
{
Dictionary<string, int> ages = new Dictionary<string, int>();
ages["Ada"] = 28; // add
ages["Alan"] = 35; // add
ages["Alan"] = 36; // update
int value;
if (ages.TryGetValue("Ada", out value))
{
Console.WriteLine("Ada age = " + value);
}
Console.WriteLine("Has Grace? " + ages.ContainsKey("Grace"));
}
}
اختيار المجموعات
اختر:
- Array للحجم الثابت والفهرسة الرقمية
- List<T> عندما يتغير الحجم
- Dictionary<K,V> عندما تكون لديك مفاتيح فريدة
- انسخ أجزاء المصفوفات باستخدام أسلوب مساعد يعتمد على Array.Copy
اختيار البحث بالمفتاح
خلاصة
الخلاصة: المصفوفات ثابتة الحجم؛ انسخ الأجزاء باستخدام Array.Copy. استخدم List<T> للقوائم الديناميكية وDictionary<K,V> لعمليات البحث السريعة بالمفتاح.
الأسئلة الشائعة
هل درس «المصفوفات والتقطيع وList<T> وDictionary<TKey,TValue>» مجاني؟
نعم — نص درس «المصفوفات والتقطيع وList<T> وDictionary<TKey,TValue>» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 3 دروس في المجموع.
ماذا ستتعلم في «المصفوفات والتقطيع وList<T> وDictionary<TKey,TValue>»؟
أنشئ المصفوفات واستخدمها، وانسخ جزءًا منها، وتعامَل مع List وDictionary للعناصر الديناميكية وعمليات البحث القائمة على المفاتيح. تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟
لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 3.
كم من الوقت يستغرق درس «المصفوفات والتقطيع وList<T> وDictionary<TKey,TValue>»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟
نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- المصفوفات والتقطيع وList وDictionary
- أنماط foreach ومهيئات المجموعات
- لمحة عن LINQ: Where وSelect وOrderBy وTake/Skip؛ التنفيذ المؤجل