Menu
Coddy logo textTech
flag Ar iconالعربيةdown icon

الوصول إلى عناصر المصفوفة ثنائية الأبعاد

جزء من قسم المنطق وتدفق التنفيذ في رحلة C# على Coddy. الدرس 3 من 66.

يستخدم الوصول إلى العناصر في array ثنائية الأبعاد صياغةً مشابهةً للمصفوفات العادية، لكنه يتطلب فهرسين: أحدهما لـ row والآخر لـ column.

ملاحظة: في C#، هناك نوعان من المصفوفات متعددة الأبعاد: المصفوفات المستطيلة (int[,]) والمصفوفات المتعرجة (int[][]). يغطي هذا الدرس المصفوفات المتعرجة، حيث يكون كل row عبارة عن array مستقلة.

أنشئ array متعرجة تحتوي على 3 صفوف و4 أعمدة:

int[][] grid = new int[3][];
grid[0] = new int[4];
grid[1] = new int[4];
grid[2] = new int[4];

عيّن قيمة إلى موضع محدد (فهرس الصف 1، وفهرس العمود 2):

grid[1][2] = 42;

اقرأ قيمة من موضع محدد (فهرس الصف 0، فهرس العمود 3):

int value = grid[0][3];

بما أن الفهارس تبدأ من 0، فإن فهرس الصف 0 هو الصف الأول، وفهرس العمود 3 هو العمود الرابع.

تذكّر أن مؤشرات array تبدأ من 0، لذا فإن نطاقات index الصالحة هي:

  • الصفوف: من index 0 إلى 2 (بالنسبة إلى array مكوّنة من 3 صفوف: الصف الأول هو index 0، والثاني هو index 1، والثالث هو index 2)
  • الأعمدة: من index 0 إلى 3 (بالنسبة إلى array مكوّنة من 4 أعمدة: العمود الأول هو index 0، والثاني هو index 1، وهكذا)
إذا حاولت الوصول إلى عنصر خارج هذه النطاقات (مثل grid[3][2])، فستحصل على IndexOutOfRangeException.
challenge icon

التحدي

متوسط

اكتب method باسم getElement يأخذ ثلاثة arguments:

  1. مصفوفة array ثنائية الأبعاد من الأعداد الصحيحة (int[][] matrix)
  2. ‏row index (int row)
  3. ‏column index (int col)

يجب أن يعيد method قيمة element في position specified إذا كانت الفهارس صالحة. إذا كان أي من الفهرسين خارج النطاق، فيجب أن يعيد method القيمة -1.

جرّب بنفسك

public class GetElement
{
    public static int getElement(int[][] array, int row, int col)
    {
        // اكتب الكود الخاص بك هنا
    }
}
quiz iconاختبر نفسك

يتضمن هذا الدرس اختبارًا قصيرًا. ابدأ الدرس للإجابة عليه وتتبّع تقدمك.

جميع دروس المنطق وتدفق التنفيذ

تدرّب بنفسك: مترجم C# عبر الإنترنت