Tableaux (guide de programmation C#)
Vous pouvez stocker plusieurs variables du même type dans une structure de données de type tableau. Vous déclarez un tableau en spécifiant le type de ses éléments. Si vous souhaitez que le tableau stocke des éléments de n’importe quel type, vous pouvez spécifier object
comme type. Dans le système de type unifié de C#, tous les types (les types référence et valeur, prédéfinis ou définis par l’utilisateur) héritent directement ou indirectement du type Object.
type[] arrayName;
Exemple
L’exemple suivant crée des tableaux unidimensionnels, multidimensionnels et en escalier :
class TestArraysClass
{
static void Main()
{
// Declare a single-dimensional array of 5 integers.
int[] array1 = new int[5];
// Declare and set array element values.
int[] array2 = new int[] { 1, 3, 5, 7, 9 };
// Alternative syntax.
int[] array3 = { 1, 2, 3, 4, 5, 6 };
// Declare a two dimensional array.
int[,] multiDimensionalArray1 = new int[2, 3];
// Declare and set array element values.
int[,] multiDimensionalArray2 = { { 1, 2, 3 }, { 4, 5, 6 } };
// Declare a jagged array.
int[][] jaggedArray = new int[6][];
// Set the values of the first array in the jagged array structure.
jaggedArray[0] = new int[4] { 1, 2, 3, 4 };
}
}
Vue d’ensemble d’un tableau
Un tableau possède les propriétés suivantes :
- Un tableau peut être unidimensionnel, multidimensionnel ou en escalier.
- Le nombre de dimensions et la longueur de chaque dimension sont établis lors de la création de l’instance de tableau. Ces valeurs ne peuvent pas être modifiées pendant la durée de vie de l’instance.
- Les valeurs par défaut des éléments de tableau numériques sont définies sur zéro et les éléments de référence sont définis sur
null
. - Un tableau en escalier est un tableau de tableaux, et par conséquent ses éléments sont des types référence et sont initialisés sur
null
. - Les tableaux sont indexés sur zéro : un tableau avec
n
éléments est indexée de0
àn-1
. - Les éléments de tableau peuvent être de n’importe quel type, y compris un type tableau.
- Les types tableau sont des types référence dérivés du type de base abstrait Array. Tous les tableaux implémentent IList et IEnumerable. Vous pouvez utiliser l’instruction foreach pour itérer au sein d’un tableau. Les tableaux unidimensionnels implémentent aussi IList<T> et IEnumerable<T>.
Comportement des valeurs par défaut
- Pour les types de valeurs, les éléments de tableau sont initialisés avec la valeur par défaut, le modèle 0 bit. Les éléments auront la valeur
0
. - Tous les types de référence (y compris non-nullable) ont les valeurs
null
. - Pour les types de valeur nullable,
HasValue
est défini surfalse
et les éléments sont définis surnull
.
Tableaux comme objets
En C#, les tableaux sont en fait des objets, et pas simplement des zones adressables de mémoire contiguë comme en C et C++. Array est le type de base abstrait de tous les types de tableau. Vous pouvez utiliser les propriétés et les autres membres de classe qu’a Array. Vous pouvez, par exemple, utiliser la propriété Length pour obtenir la longueur d’un tableau. Le code suivant affecte la longueur du tableau numbers
, c’est-à-dire la valeur 5
, à une variable appelée lengthOfNumbers
:
int[] numbers = { 1, 2, 3, 4, 5 };
int lengthOfNumbers = numbers.Length;
La classe Array fournit beaucoup d’autres méthodes et propriétés utiles pour trier, rechercher et copier des tableaux. L’exemple suivant utilise la propriété Rank pour afficher le nombre de dimensions d’un tableau.
class TestArraysClass
{
static void Main()
{
// Declare and initialize an array.
int[,] theArray = new int[5, 10];
System.Console.WriteLine("The array has {0} dimensions.", theArray.Rank);
}
}
// Output: The array has 2 dimensions.
Voir aussi
- Guide pratique pour utiliser des tableaux unidimensionnels
- Guide pratique pour utiliser des tableaux multidimensionnels
- Guide pratique pour utiliser des tableaux en escalier
- Utiliser foreach avec des tableaux
- Passage de tableaux en tant qu’arguments
- Tableaux implicitement typés
- Guide de programmation C#
- Regroupements
Pour plus d'informations, voir la spécification du langage C#. La spécification du langage est la source de référence pour la syntaxe C# et son utilisation.