Maîtriser les tableaux en C# : stockage efficace et accès aux données
Un tableau stocke une collection séquentielle de taille fixe d'éléments du même type. C'est une collection de variables du même type stockées à des emplacements mémoire contigus.
Au lieu de déclarer des variables individuelles nombre0, nombre1, ..., nombre99, on déclare une variable tableau nombres et on accède aux éléments via nombres[0], nombres[1], ..., nombres[99].
Déclaration d'un tableau
Syntaxe :
type[] nomTableau;
type: type des éléments[]: rang du tableau (dimension)nomTableau: nom de la variable
Exemple : double[] balance;
Initialisation d'un tableau
La déclaration n'initialise pas le tableau en mémoire. Il faut utiliser new pour créer l'instance :
double[] balance = new double[10];
Assignation de valeurs
Par index
double[] balance = new double[10];
balance[0] = 4500.0;
À la déclaration
double[] balance = { 2340.0, 4523.69, 3421.0 };
Avec taille explicite
int[] notes = new int[5] { 99, 98, 92, 97, 95 };
Sans taille (inférée)
int[] notes = new int[] { 99, 98, 92, 97, 95 };
Copie de référence
int[] notes = new int[] { 99, 98, 92, 97, 95 };
int[] score = notes; // même référence mémoire
À la création, les éléments sont initialisés à leur valeur par défaut (0 pour int, null pour les références, etc.).
Accès aux éléments
Via l'index (base 0) :
double salaire = balance[9];
Exemple complet
using System;
namespace ApplicationTableau
{
class MonTableau
{
static void Main(string[] args)
{
int[] n = new int[10];
int i, j;
// Initialisation
for (i = 0; i < 10; i++)
{
n[i] = i + 100;
}
// Affichage
for (j = 0; j < 10; j++)
{
Console.WriteLine("Element[{0}] = {1}", j, n[j]);
}
Console.ReadKey();
}
}
}
Résultat :
Element[0] = 100
Element[1] = 101
...
Element[9] = 109
Boucle foreach
Alternative plus simple pour itérer :
foreach (int j in n)
{
int i = j - 100;
Console.WriteLine("Element[{0}] = {1}", i, j);
}
Concepts avancés des tableaux
| # | Concept & Description |
|---|---|
| 1 | Tableaux multidimensionnels : C# supporte les tableaux à plusieurs dimensions (ex: 2D). |
| 2 | Tableaux en escalier (jagged arrays) : tableaux de tableaux, chaque ligne peut avoir une taille différente. |
| 3 | Passage de tableaux aux fonctions : passage par référence via le nom du tableau. |
| 4 | Tableaux de paramètres (params) : nombre variable de paramètres. |
| 5 | Classe Array : classe de base dans System, fournit propriétés et méthodes (Length, Sort, Copy, etc.). |
Langue C
- Maîtriser les tableaux C# : Déclaration, initialisation et opérations
- Maîtriser les tableaux en escalier C# : Déclaration, initialisation et accès
- Comment passer des tableaux aux fonctions en C++ : Guide pratique
- Comment passer des tableaux 1D et 2D aux fonctions en C – Guide pratique
- Comprendre la relation entre les tableaux et les pointeurs en C
- Techniques de copie de tableaux en Java : Guide complet
- Les tableaux en C++ : Déclaration, initialisation et techniques avec pointeurs
- Maîtriser l'allocation de tableaux dynamiques en C++ : Guide pratique avec exemples de code
- Tutoriel Java Arrays : Déclaration, création et initialisation – Code d'exemple