当前位置:网站首页>Série de démarrage C # (XI) - - tableaux multidimensionnels

Série de démarrage C # (XI) - - tableaux multidimensionnels

2022-06-11 10:24:00 InfoQ

Définition et initialisationC#Autoriser la définition de tableaux multidimensionnels,Chaque élément d'un tableau multidimensionnel est un autre tableau,Appelé sous - Tableau.

C#Il existe deux types de tableaux multidimensionnels moyens:Tableaux rectangulaires et décalés.

Un tableau rectangulaire est un tableau multidimensionnel de la même longueur pour tous les sous - tableaux d'une dimension,Et quelle que soit la dimension du tableau rectangulaire,Toujours utiliser un ensemble de crochets pour décrire toutes les dimensions.

Un tableau entrelacé est un tableau multidimensionnel dans lequel chaque sous - tableau est un tableau indépendant,La longueur du sous - Tableau peut varier,Et chaque dimension du tableau est décrite par un ensemble de crochets.

Les définitions générales sont les suivantes::

Type d'élément[,,…,] Nom du tableau = new Type d'élément[Longueur du tableau 1d,Longueur du tableau 2D,…,NoNLongueur du Groupe de dimensions];Ou définir et initialiser séparément

Type d'élément[,,…,] Nom du tableau:Nom du tableau = new Type d'élément[Longueur du tableau 1d,Longueur du tableau 2D,…,NoNLongueur du Groupe de dimensions];Exemples d'utilisation:

int[,]A= new int[3,3];

int[,,]B;B = new int [2,3,4];

Description de la définition du tableau multidimensionnel:

Un tableau multidimensionnel déclare que la virgule entre crochets est un spécificateur de rang,Le rang est le nombre de virgules plus1.Lorsqu'un tableau multidimensionnel est déclaré,En principe, vous pouvez utiliser n'importe quel nombre de descripteurs de rang,C'est - à - dire:C#Prise en charge des tableaux multidimensionnels arbitraires.Rang d'un tableau multidimensionnel dans le type de tableau,La longueur de la dimension ne fait pas partie du type.Tableau multidimensionnel une fois déclaré,Les dimensions sont fixées. La longueur de la dimension doit être déterminée lors de la création du tableau . Considérations relatives à l'initialisation des tableaux multidimensionnels :

Les valeurs initiales doivent être fermées avec des accolades bouclées en fonction des dimensions du tableau multidimensionnel et de la longueur de chaque dimension , Et chaque vecteur de valeur initiale doit être séparé par des virgules , Et les valeurs initiales dans chaque vecteur de valeur initiale sont également séparées par des virgules ; La longueur des dimensions est facultative , Parce que le compilateur peut calculer la longueur par le nombre de valeurs initiales , Mais une virgule représentant le rang du tableau ne peut pas être omise .Par exemple:

int[,] arr = new int[,]{{1,2,3},{4,5,6},{7,8,9}};
Ça pourrait être plus simple,

Comme ça:
int[,] arr = {{1,2,3},{4,5,6},{7,8,9}};
Référence d'un tableau multidimensionnel un tableau rectangulaire ne peut faire référence qu'aux valeurs des éléments du tableau un par un , Le tableau entier ne peut pas être référencé en même temps .

La référence de l'élément Array est obtenue par l'indice ,La forme générale est:

Nom du tableau[Expression de l'indice1,Expression de l'indice2,…,Expression de l'indiceN]

arr[1,2,...,n] Deux façons de traverser un tableau bidimensionnel :



class Program{
 
 static void Main(string[] args){
 
 int[,] arr = new int[,] { { 1, 2 }, { 3, 4 } };
// Traverser les lignes
 for (int i = 0; i < arr.GetLength(0); i++)
 {
 // Traverser les colonnes
 for (int j = 0; j < arr.GetLength(1); j++)
 {
 Console.WriteLine(arr[i,j]);
 }
 }

 // foreachTraversée
 foreach (var item in arr)
 {
 Console.WriteLine(item);
 }

 Console.ReadLine();
}
}

Tableau décalé tous les sous - tableaux du tableau décrit ci - dessus sont de longueur égale , Aussi connu sous le nom de tableau rectangulaire , Contrairement à un tableau rectangulaire , Un sous - tableau d'un tableau entrelacé peut avoir un nombre différent d'éléments .

En général, La Déclaration et la création de tableaux entrelacés se font en couches .

Type d'élément[][] Nom du tableau = new Type d'élément[ Taille du tableau de haut niveau ][];

Nom du tableau[0] = new Type d'élément[ Taille du premier sous - Tableau ];

Nom du tableau[1] = new Type d'élément[ Taille du deuxième sous - Tableau ];

Nom du tableau[2] = new Type d'élément[ Taille du troisième sous - Tableau ];

// Exemple de code
int[][]Arr = new int[3][];
Arr[0] = new int[] { 1, 2, 3 };
Arr[1] = new int[] { 4, 5, 6, 7 };
Arr[2] = new int[] { 8, 8 };

Traversée d'un tableau entrelacé



class Program{
 
 static void Main(string[] args){

int[][]Arr = new int[3][];
 Arr[0] = new int[] { 1, 2, 3 }; 
 Arr[1] = new int[] { 4, 5, 6, 7 };
 Arr[2] = new int[] { 8, 8 };
 
//  Prendre la longueur de la dimension
 for (int i = 0; i < Arr.GetLength(0); i++)
 {
 //  Attention, c'est Arr[i].GetLength(0),
 for (int j = 0; j < Arr[i].GetLength(0); j++)
 {
 Console.WriteLine(Arr[i][j]);
 }
 }

 // foreachTraversée
 foreach (var item in Arr)
 {
 Console.WriteLine(item);
 // ProduitsSystem.Int32[], Aucune valeur spécifique n'a été trouvée
 }

 Console.ReadLine();
}
}


原网站

版权声明
本文为[InfoQ]所创,转载请带上原文链接,感谢
https://yzsam.com/2022/162/202206111023177505.html