Guide pour les tableaux en C# : Un guide pour les débutants sur le stockage de multiples valeurs

Bonjour là-bas, futur programmeur ! Aujourd'hui, nous allons entreprendre un voyage passionnant dans le monde des tableaux en C#. Imaginez les tableaux comme un contenant magique qui peut contenir plusieurs éléments du même type. C'est comme avoir une boîte de vos chocolates préférés, mais au lieu de chocolates, nous stockons des données !

C# - Arrays

Qu'est-ce que les tableaux ?

Avant de plonger dans les détails, comprenons ce qu'est un tableau. Un tableau est une structure de données qui vous permet de stocker plusieurs valeurs du même type dans une seule variable. Imaginez que vous êtes un enseignant (comme moi !) et que vous souhaitez stocker les notes de 30 élèves. Au lieu de créer 30 variables distinctes, vous pouvez utiliser un seul tableau pour contenir toutes ces notes. Génial, non ?

Déclarer des tableaux

Commençons par les bases : comment déclarer un tableau. La syntaxe est assez simple :

dataType[] arrayName;

Par exemple, si nous voulons déclarer un tableau d'entiers, nous écrivons :

int[] grades;

Cette ligne indique à C# que nous créons un tableau appelé grades qui contiendra des valeurs entières. Mais souvenez-vous, à ce stade, nous n'avons pas spécifié combien de notes nous voulons stocker ou quelles sont ces notes.

Initialiser un tableau

Maintenant que nous avons déclaré notre tableau, donnons-lui une taille. Nous pouvons le faire de plusieurs manières :

Méthode 1 : Spécifier la taille

int[] grades = new int[5];

Cela crée un tableau qui peut contenir 5 valeurs entières. Initialement, tous les éléments seront définis à la valeur par défaut pour les entiers, qui est 0.

Méthode 2 : Initialiser avec des valeurs

int[] grades = new int[] { 85, 92, 78, 95, 88 };

Ici, nous créons le tableau et l'initialisons immédiatement avec des valeurs. C# est suffisamment intelligent pour comprendre que nous voulons un tableau de 5 éléments basé sur les valeurs que nous avons fournies.

Assigner des valeurs à un tableau

Disons que nous avons créé notre tableau en utilisant la méthode 1, et maintenant nous voulons ajouter des notes. Nous pouvons le faire en accédant à chaque élément du tableau en utilisant son index :

grades[0] = 85;  // Première note
grades[1] = 92;  // Deuxième note
grades[2] = 78;  // Troisième note
grades[3] = 95;  // Quatrième note
grades[4] = 88;  // Cinquième note

Souvenez-vous, les indices des tableaux en C# (et dans la plupart des langages de programmation) commencent à 0, pas à 1. Ainsi, le premier élément est à l'index 0, le second à l'index 1, et ainsi de suite.

Accéder aux éléments du tableau

Pour accéder aux éléments d'un tableau, nous utilisons la même notation avec des crochets :

int firstGrade = grades[0];  // Cela nous donnera 85
int thirdGrade = grades[2];  // Cela nous donnera 78

Voici un petit programme qui met tout cela ensemble :

int[] grades = new int[5];

grades[0] = 85;
grades[1] = 92;
grades[2] = 78;
grades[3] = 95;
grades[4] = 88;

Console.WriteLine("Les notes sont:");
for (int i = 0; i < grades.Length; i++)
{
Console.WriteLine($"Élève {i + 1}: {grades[i]}");
}

Ce programme affichera :

Les notes sont:
Élève 1: 85
Élève 2: 92
Élève 3: 78
Élève 4: 95
Élève 5: 88

Utiliser la boucle foreach

C# offre une boucle foreach pratique qui rend l'itération à travers les tableaux très simple. Reprenons notre exemple précédent en utilisant foreach :

int[] grades = new int[] { 85, 92, 78, 95, 88 };

Console.WriteLine("Les notes sont:");
int studentNumber = 1;
foreach (int grade in grades)
{
Console.WriteLine($"Élève {studentNumber}: {grade}");
studentNumber++;
}

La boucle foreach itère automatiquement à travers chaque élément du tableau, l'assignant à la variable grade à chaque itération. C'est une manière plus propre et plus lisible de parcourir tous les éléments d'un tableau.

Tableaux multidimensionnels

Jusqu'à présent, nous avons travaillé avec des tableaux unidimensionnels. Mais que faire si nous voulons créer un carnet de notes pour plusieurs matières ? C'est là que les tableaux multidimensionnels deviennent utiles. Créons un tableau 2D pour stocker les notes de 3 élèves sur 4 matières :

int[,] gradeBook = new int[3, 4]
{
{ 85, 92, 78, 95 },
{ 80, 89, 93, 87 },
{ 76, 88, 91, 84 }
};

Console.WriteLine("Cahier de notes:");
for (int i = 0; i < 3; i++)
{
Console.Write($"Élève {i + 1}: ");
for (int j = 0; j < 4; j++)
{
Console.Write($"{gradeBook[i, j]} ");
}
Console.WriteLine();
}

Cela affichera :

Cahier de notes:
Élève 1: 85 92 78 95
Élève 2: 80 89 93 87
Élève 3: 76 88 91 84

Méthodes de tableau

C# offre plusieurs méthodes utiles pour travailler avec des tableaux. Voici quelques-unes des plus courantes :

Méthode Description Exemple
Array.Sort() Trie les éléments dans un tableau Array.Sort(grades);
Array.Reverse() Inverse l'ordre des éléments dans un tableau Array.Reverse(grades);
Array.Find() Trouve le premier élément qui correspond aux critères spécifiés int firstPassingGrade = Array.Find(grades, grade => grade >= 60);
Array.FindAll() Trouve tous les éléments qui correspondent aux critères spécifiés int[] passingGrades = Array.FindAll(grades, grade => grade >= 60);
Array.IndexOf() Retourne l'index de la première occurrence d'une valeur int index = Array.IndexOf(grades, 95);

Voici un exemple rapide utilisant quelques-unes de ces méthodes :

int[] grades = new int[] { 85, 92, 78, 95, 88 };

Array.Sort(grades);
Console.WriteLine("Notes triées:");
foreach (int grade in grades)
{
Console.Write($"{grade} ");
}
Console.WriteLine();

int highestGrade = grades[grades.Length - 1];
Console.WriteLine($"La note la plus élevée est: {highestGrade}");

int lowestGrade = grades[0];
Console.WriteLine($"La note la plus basse est: {lowestGrade}");

Ce programme affichera :

Notes triées:
78 85 88 92 95
La note la plus élevée est: 95
La note la plus basse est: 78

Et voilà ! Vous avez vient de terminer un voyage rapide à travers les tableaux en C#. Souvenez-vous, la pratique rend parfait, donc n'ayez pas peur d'expérimenter avec ces concepts. Essayez de créer différents types de tableaux, jouez avec les tableaux multidimensionnels, et explorez les diverses méthodes de tableau. Avant de vous en rendre compte, vous serez un magicien des tableaux, capable de invoquer des structures de données complexes avec facilité !

Bonne programmation, futurs programmeurs ! ??

Credits: Image by storyset