0Pricing
C# Academy · درس

الفهرسة والطول

الوصول إلى العناصر بأمان

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

القراءة حسب الفهرس

يمتلك كل عنصر في المصفوفة موضعًا يسمى الفهرس. وتقرأ قيمةً بكتابة الفهرس بين قوسين مربعين بعد اسم المصفوفة.

تبدأ الفهارس عند 0، لذلك يوجد العنصر الأول تمامًا عند الفهرس 0.

string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[0]); // Mon

العد بدءًا من الصفر

نظرًا إلى أن الفهارس تبدأ من 0، فإن العنصر الثاني يقع عند الفهرس 1، والثالث عند الفهرس 2.

قد يربك هذا العد بدءًا من الصفر المبتدئين، لذا تذكّروا: الفهرس = الموضع ناقص واحد.

string[] days = { "Mon", "Tue", "Wed" };
Console.WriteLine(days[1]); // Tue
Console.WriteLine(days[2]); // Wed

تغيير عنصر

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

نستبدل هنا القيمة الموجودة عند الفهرس 1. لا يتغير طول المصفوفة، بل تتغير القيمة المخزنة فقط.

int[] nums = { 5, 6, 7 };
nums[1] = 99;
Console.WriteLine(nums[1]); // 99

خاصية Length

تحتوي كل مصفوفة على خاصية Length تخبركم بعدد العناصر التي تحتوي عليها.

وهذا مفيد لأنكم لا تحتاجون إلى تذكّر الحجم بأنفسكم.

int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums.Length); // 4

العنصر الأخير

الفهرس الأخير الصالح هو دائمًا Length - 1، لأن العد يبدأ من 0.

يتيح لكم استخدام Length - 1 العثور على العنصر الأخير من دون تثبيت رقم معين في الشيفرة.

int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[nums.Length - 1]); // 8

معامل الفهرسة من النهاية

توفّر C# اختصارًا للعد من النهاية باستخدام المعامل ^. يشير ^1 إلى العنصر الأخير، ويشير ^2 إلى العنصر قبل الأخير.

وهذه طريقة واضحة للوصول إلى النهاية من دون كتابة Length - 1.

int[] nums = { 5, 6, 7, 8 };
Console.WriteLine(nums[^1]); // 8

برنامج كامل

يطبع هذا البرنامج الكامل العنصر الأول، والعنصر الأخير، والطول الإجمالي.

شغّلوه لمشاهدة ظهور القيم الثلاث كلها.

int[] nums = { 10, 20, 30 };
Console.WriteLine("First: " + nums[0]);
Console.WriteLine("Last: " + nums[nums.Length - 1]);
Console.WriteLine("Count: " + nums.Length);

أخطاء تجاوز النطاق

إذا استخدمتم فهرسًا كبيرًا جدًا أو سالبًا، فإن C# تطرح الاستثناء IndexOutOfRangeException ويتعطل البرنامج.

بالنسبة إلى مصفوفة طولها 3، الفهارس الصالحة هي 0 و1 و2 فقط. أما الفهرس 3 فيتجاوز الحد بخطوة واحدة.

int[] nums = { 1, 2, 3 };
// nums[3] would throw IndexOutOfRangeException
Console.WriteLine(nums[2]); // safe: 3

التحقق قبل الوصول

لتجنب حالات التعطل، تحقّقوا من أن الفهرس ضمن النطاق قبل استخدامه.

يجب أن يكون الفهرس الآمن أكبر من أو يساوي 0 وأصغر من Length.

int[] nums = { 1, 2, 3 };
int i = 5;
if (i >= 0 && i < nums.Length)
    Console.WriteLine(nums[i]);
else
    Console.WriteLine("Out of range");

استخدام Length في العمليات الحسابية

نظرًا إلى أن Length عدد صحيح، يمكنكم استخدامه في العمليات الحسابية، مثل العثور على فهرس المنتصف.

نحسب هنا موضع مركز المصفوفة.

int[] nums = { 1, 2, 3, 4, 5 };
int mid = nums.Length / 2;
Console.WriteLine(nums[mid]); // 3

Length للقراءة فقط

لا يمكنكم تغيير Length لتغيير حجم المصفوفة. إذ يكون حجم المصفوفات ثابتًا بعد إنشائها.

إذا احتجتم إلى حجم مختلف، فعليكم إنشاء مصفوفة جديدة. وتكون المجموعات مثل List<T> أفضل عندما يحتاج الحجم إلى الزيادة.

int[] nums = { 1, 2, 3 };
// nums.Length = 5; // error: read-only
Console.WriteLine(nums.Length); // 3

تحقق سريع

اختبروا فهمكم للفَهارس والطول.

مراجعة

تعلّمتم قراءة العناصر وتغييرها باستخدام الفهرس، وأن الفهارس تبدأ من الصفر، وأن الفهرس الأخير هو Length - 1.

تحسب الخاصية Length عدد العناصر، ويعدّ المعامل ^ من النهاية، ويؤدي الخروج عن النطاق إلى طرح استثناء. ستتعلّمون بعد ذلك كيفية التكرار على كل عنصر.

الأسئلة الشائعة

هل درس «الفهرسة والطول» مجاني؟

نعم — نص درس «الفهرسة والطول» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة C# Academy، انتقل إلى CoddyKit PRO. تتضمن دورة C# Academy 4 دروس في المجموع.

ماذا ستتعلم في «الفهرسة والطول»؟

الوصول إلى العناصر بأمان تتمرن على C# Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ C# Academy؟

لا تُشترط خبرة سابقة. C# Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «الفهرسة والطول»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس C# Academy هذا؟

نعم. كل درس في C# Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التصريح بالمصفوفات
  2. الفهرسة والطول
  3. التكرار على المصفوفات
  4. المصفوفات متعددة الأبعاد
← العودة إلى C# Academy