C # - Tableaux multidimensionnels

C # autorise les tableaux multidimensionnels. Les tableaux multidimensionnels sont également appelés tableaux rectangulaires. Vous pouvez déclarer un tableau à 2 dimensions de chaînes comme -

string [,] names;

ou, un tableau tridimensionnel de variables int comme -

int [ , , ] m;

Tableaux bidimensionnels

La forme la plus simple du tableau multidimensionnel est le tableau à 2 dimensions. Un tableau à 2 dimensions est une liste de tableaux à une dimension.

Un tableau à 2 dimensions peut être considéré comme un tableau, qui a x nombre de lignes et y nombre de colonnes. Voici un tableau à 2 dimensions, qui contient 3 lignes et 4 colonnes -

Ainsi, chaque élément du tableau a est identifié par un nom d'élément de la forme a [i, j], où a est le nom du tableau, et i et j sont les indices qui identifient de manière unique chaque élément du tableau a.

Initialisation de tableaux bidimensionnels

Les tableaux multidimensionnels peuvent être initialisés en spécifiant des valeurs entre crochets pour chaque ligne. Le tableau suivant comprend 3 lignes et chaque ligne comporte 4 colonnes.

int [,] a = new int [3,4] {
   {0, 1, 2, 3} ,   /*  initializers for row indexed by 0 */
   {4, 5, 6, 7} ,   /*  initializers for row indexed by 1 */
   {8, 9, 10, 11}   /*  initializers for row indexed by 2 */
};

Accès aux éléments de matrice bidimensionnelle

Un élément d'un tableau à 2 dimensions est accessible en utilisant les indices. Autrement dit, l'index de ligne et l'index de colonne du tableau. Par exemple,

int val = a[2,3];

L'instruction ci-dessus prend le 4ème élément de la 3ème ligne du tableau. Vous pouvez le vérifier dans le diagramme ci-dessus. Vérifions le programme pour gérer un tableau à deux dimensions -

using System;

namespace ArrayApplication {
   class MyArray {
      static void Main(string[] args) {
         /* an array with 5 rows and 2 columns*/
         int[,] a = new int[5, 2] {{0,0}, {1,2}, {2,4}, {3,6}, {4,8} };
         int i, j;
         
         /* output each array element's value */
         for (i = 0; i < 5; i++) {
            
            for (j = 0; j < 2; j++) {
               Console.WriteLine("a[{0},{1}] = {2}", i, j, a[i,j]);
            }
         }
         Console.ReadKey();
      }
   }
}

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

a[0,0]: 0
a[0,1]: 0
a[1,0]: 1
a[1,1]: 2
a[2,0]: 2
a[2,1]: 4
a[3,0]: 3
a[3,1]: 6
a[4,0]: 4
a[4,1]: 8