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

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

جزء من قسم Logic & Flow في رحلة C# على Coddy — الدرس 2 من 66.

يمكن إنشاء مصفوفة ثنائية الأبعاد (2D array) في لغة C# باستخدام المصفوفات المتعرجة (jagged arrays)، وهي عبارة عن مصفوفات من المصفوفات، مما يسمح لك بتخزين البيانات في هيكل يشبه الشبكة.

لإنشاء مصفوفة متعرجة (jagged array) من الأعداد الصحيحة بـ 3 صفوف و 4 أعمدة:

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

يقوم الكود أعلاه بإنشاء مصفوفة ثنائية الأبعاد تبدو كالتالي (تمت تهيئة جميع العناصر إلى 0):

[0, 0, 0, 0]
[0, 0, 0, 0]
[0, 0, 0, 0]

تهيئة مصفوفة متعرجة (jagged array) بالقيم:

int[][] matrix = new int[2][];
matrix[0] = new int[] {1, 2, 3};
matrix[1] = new int[] {4, 5, 6};

يؤدي هذا إلى إنشاء مصفوفة ثنائية الأبعاد تتكون من صفين و3 أعمدة، وتحتوي على القيم التالية:

[1, 2, 3]
[4, 5, 6]

للحصول على عدد الصفوف والأعمدة:

int rows = matrix.Length;           // يعيد 2
int columns = matrix[0].Length;     // يعيد 3 (للصف الأول)

يتطلب الوصول إلى العناصر في مصفوفة ثنائية الأبعاد فهرسين: أحدهما للصف والآخر للعمود.

تعيين قيمة لموقع محدد (الصف 1، العمود 2):

grid[1][2] = 42;

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

int value = grid[0][3];

تذكر أن فهارس المصفوفة تبدأ من 0، لذا فإن النطاقات الصالحة هي:

  • الصفوف: من 0 إلى 2 (لمصفوفة مكونة من 3 صفوف)
  • الأعمدة: من 0 إلى 3 (لمصفوفة مكونة من 4 أعمدة)

إذا حاولت الوصول إلى عنصر خارج هذه النطاقات (مثل grid[3][2])، فستحصل على IndexOutOfRangeException.

جرّب بنفسك

لا يتضمّن هذا الدرس تحدّيًا برمجيًا.

quiz iconاختبر نفسك

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

جميع دروس Logic & Flow