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

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

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

يمكن إنشاء مصفوفة ثنائية الأبعاد في C# باستخدام المصفوفات المتعرجة، وهي مصفوفات من المصفوفات، مما يتيح لك تخزين البيانات في بنية شبيهة بالشبكة.

لإنشاء مصفوفة متعرجة من الأعداد الصحيحة تتكون من 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]

هيّئ مصفوفة متعرّجة بقيم:

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;

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

int value = grid[0][3];

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

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

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

جرّب بنفسك

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

quiz iconاختبر نفسك

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

جميع دروس Logic & Flow

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