Tableaux à deux dimensions en C#
C# prend également en charge les tableaux multidimensionnels. Un tableau multidimensionnel est une série en deux dimensions(des lignes et des colonnes).
Exemple :
int[,] tab2D = new int[3,2]{ {1, 2}, {3, 4}, {5, 6} }; // ou bien : int[,] tab2D = { {1, 2}, {3, 4}, {5, 6} };
Comme vous pouvez le constater dans l’exemple ci-dessus, un tableau multidimensionnel est initialisé en mettant la taille des lignes et des colonnes. [3,2] spécifie que le tableau peut inclure 3 lignes et 2 colonnes.
L’image suivante montre un tableau multidimensionnel divisé en lignes et en colonnes:
Programme C# pour manipuler un tableau à deux dimensions
using System; public class WayToLearnX { // Méthode principale public static void Main(string[] args) { /* Tableau avec 3 lignes et 2 colonnes */ int[,] tab2D = { {1, 2}, {3, 4}, {5, 6} }; int i, j; /* Affiche la valeur de chaque élément */ for (i = 0; i < 3; i++) { for (j = 0; j < 2; j++) { Console.WriteLine("tab2D[{0},{1}] = {2}", i, j, tab2D[i,j]); } } } }
La sortie :
tab2D[0,0] = 1 tab2D[0,1] = 2 tab2D[1,0] = 3 tab2D[1,1] = 4 tab2D[2,0] = 5 tab2D[2,1] = 6
Et pour un tableau du type int[][], on fait comment, pour l’initialiser ?
int[,] est un tableau 2d (matrice) tandis que int[][] est un tableau de tableaux et la syntaxe est la suivante:
Si vous souhaitez initialiser un tableau de tableaux, vous devrez procéder comme suit :
Tenez compte du fait que l'utilisation de tableaux de tableaux vous permettra d'avoir des tableaux de différentes longueurs:
Yes parfait.
Entre temps il m’est venu une autre question.
J’ai une structure de code et de données qui utilisent un int[][]. Et j’ai besoin de passer un int [,] en int[][]. Mais simplement transformer [,] en [][] semble ne pas convenir au compilateur.