Exercice – Bien démarrer avec les tableaux
- 19 minutes
Les tableaux peuvent être utilisés pour stocker plusieurs valeurs du même type dans une variable unique. Les valeurs stockées dans un tableau sont généralement liées. Par exemple, une liste de noms d’étudiants peut être stockée dans un tableau de chaînes nommé students
.
Votre travail au sein du service de sécurité est axé sur la recherche d’un modèle pour les commandes frauduleuses. Vous souhaitez que votre code passe en revue les commandes passées et identifie les marqueurs associés aux commandes frauduleuses. Votre entreprise espère que les marqueurs pourront être utilisés pour identifier à l’avenir les commandes frauduleuses potentielles avant leur traitement. Comme vous ne connaissez pas toujours à l’avance le nombre de commandes que vous devrez passer en revue, vous ne pouvez pas créer des variables individuelles pour stocker chaque ID de commande. Comment pouvez-cous créer une structure de données pour stocker plusieurs valeurs associées ?
Dans cet exercice, vous utilisez des tableaux pour stocker et analyser une collection d’ID de commande.
Qu’est-ce qu’un tableau ?
Un tableau est une collection d’éléments de données individuels accessibles via un seul nom de variable. Vous utilisez un index numérique de base zéro pour accéder à chaque élément d’un tableau. Les tableaux vous permettent de créer une collection de valeurs de données qui partagent des caractéristiques ou un objectif communs sous un seul nom de variable pour faciliter le traitement.
Déclaration de tableaux et accès aux éléments de tableau
Un tableau est un type spécial de variable qui peut contenir plusieurs valeurs ayant le même type de données. La syntaxe de déclaration est légèrement différente pour un tableau, car vous devez spécifier le type de données et la taille du tableau.
Préparer votre environnement de programmation
Ce module comprend des activités qui vous guident tout au long du processus de création et d’exécution des exemples de code. Nous vous encourageons à effectuer ces activités à l’aide de Visual Studio Code comme environnement de développement. L’utilisation de Visual Studio Code pour ces activités vous permet d’être plus à l’aise dans l’écriture et l’exécution de code dans un environnement de développement qui est utilisé par les professionnels du monde entier.
Ouvrez Visual Studio Code.
Vous pouvez utiliser le menu Démarrer de Windows (ou une ressource équivalente pour un autre système d’exploitation) pour ouvrir Visual Studio Code.
Dans Visual Studio Code, dans le menu Fichier, sélectionnez Ouvrir un dossier.
Dans la boîte de dialogue Ouvrir un dossier, accédez au dossier Bureau Windows.
Si vous conservez vos projets de code dans un autre dossier, vous pouvez utiliser cet emplacement à la place. Pour cette formation, l’important est d’avoir un emplacement facile à localiser et à mémoriser.
Dans la boîte de dialogue Ouvrir un dossier, sélectionnez Sélectionner un dossier.
Si une boîte de dialogue de sécurité vous demande si vous faites confiance aux auteurs, sélectionnez Oui.
Dans le menu Terminal de Visual Studio Code, sélectionnez Nouveau Terminal.
Notez qu’une invite de commandes dans le panneau Terminal affiche le chemin du dossier actif. Par exemple :
C:\Users\someuser\Desktop>
Notes
Si vous travaillez sur votre propre PC plutôt que dans un bac à sable ou un environnement hébergé et que vous avez terminé d’autres modules Microsoft Learn de cette série sur C#, vous avez peut-être déjà créé un dossier de projet pour les exemples de code. Si c’est le cas, vous pouvez passer à l’étape suivante, qui est utilisée pour créer une application console dans le dossier TestProject.
À l’invite de commandes terminal, pour créer une application console dans un dossier spécifié, entrez l’invite suivante :
dotnet new console -o ./CsharpProjects/TestProject
Cette commande CLI .NET utilise un modèle de programme .NET pour créer un projet d’application console C# à l’emplacement du dossier spécifié. La commande crée les dossiers CsharpProjects et TestProject automatiquement, et utilise TestProject comme nom pour votre fichier
.csproj
.Si un message s’affiche pour vous indiquer que les fichiers existent déjà, passez aux étapes suivantes. Vous allez réutiliser les fichiers projet existants.
Dans l’affichage EXPLORATEUR, développez le dossier CsharpProjects .
Vous devez voir le dossier TestProject et deux fichiers, un fichier de programme C# nommé Program.cs et un fichier projet C# nommé TestProject.csproj.
Dans Visual Studio Code, dans le menu Fichier, sélectionnez Ouvrir un dossier.
Dans la boîte de dialogue Ouvrir un dossier , sélectionnez le dossier CsharpProjects , puis sélectionnez Sélectionner un dossier.
Dans l’affichage EXPLORATEUR, développez le dossier TestProject, puis sélectionnez Program.cs.
Supprimez les lignes de code existantes.
Vous allez utiliser ce projet de console C# pour créer, générer et exécuter des exemples de code au cours de ce module.
Fermez le panneau du Terminal.
Déclarer un nouveau tableau
Pour déclare un nouveau tableau de chaînes qui peut contenir trois éléments, entrez le code suivant :
string[] fraudulentOrderIDs = new string[3];
Prenez une minute pour examiner votre code.
L’opérateur
new
crée une nouvelle instance d’un tableau dans la mémoire de l’ordinateur, qui peut contenir trois valeurs de chaîne. Pour plus d’informations sur le mot clénew
, consultez le module « Appeler des méthodes de la bibliothèque de classes .NET avec C# ».Notez que le premier ensemble de crochets
[]
indique simplement au compilateur que la variable nomméefraudulentOrderIDs
est un tableau, mais que le second ensemble de crochets[3]
indique le nombre d’éléments que le tableau peut contenir.Notes
Cet exemple illustre comment déclarer un tableau de chaînes, mais vous pouvez créer un tableau de chaque type de données, avec notamment des types primitifs comme
int
etbool
, et des types de données plus complexes, comme des classes. Cet exemple utilise la simplicité des chaînes pour limiter le nombre de nouveaux concepts que vous devez intégrer au fur et à mesure de votre prise en main.
Affecter des valeurs aux éléments d’un tableau
À ce stade, vous avez déclaré un tableau de chaînes, mais chaque élément du tableau est vide. Pour accéder à un élément d’un tableau, vous utilisez un index numérique de base zéro à l’intérieur des crochets. Vous pouvez affecter une valeur à un élément de tableau à l’aide de =
comme s’il s’agissait d’une variable ordinaire.
Pour affecter des valeurs d’ID de commande à votre tableau
fraudulentOrderIDs
, mettez à jour votre code comme suit :string[] fraudulentOrderIDs = new string[3]; fraudulentOrderIDs[0] = "A123"; fraudulentOrderIDs[1] = "B456"; fraudulentOrderIDs[2] = "C789";
Prenez une minute pour examiner votre code.
Notez que vous utilisez le nom du tableau pour accéder aux éléments du tableau. Chaque élément est accessible individuellement en spécifiant le numéro d’index de base zéro entre crochets.
Votre tableau étant déclaré sous forme de chaîne, les valeurs que vous affectez doivent également être des chaînes. Dans ce scénario, vous affectez des ID de commande aux éléments du tableau.
Tentative d’utilisation d’un index en dehors des limites du tableau
Cela peut ne pas sembler intuitif au début, mais il est important de se rappeler que vous déclarez le nombre d’éléments dans le tableau. Cependant, vous accédez à chaque élément du tableau en commençant par zéro. Ainsi, pour accéder au deuxième élément du tableau, vous utilisez l’index 1
.
Il est courant que les débutants oublient que les tableaux sont basés sur zéro et tentent d’accéder à un élément du tableau qui n’existe pas. Si vous faites cette erreur, une exception d’exécution se produit et vous signale que vous avez tenté d’accéder à un élément situé en dehors de la limite du tableau.
Pour « arrêter » intentionnellement votre application, essayez d’accéder à un quatrième élément de votre tableau à l’aide de la valeur d’index 3
.
En bas de votre fichier de code, entrez la ligne de code suivante :
fraudulentOrderIDs[3] = "D000";
Vérifiez que votre code correspond à cet exemple :
string[] fraudulentOrderIDs = new string[3]; fraudulentOrderIDs[0] = "A123"; fraudulentOrderIDs[1] = "B456"; fraudulentOrderIDs[2] = "C789"; fraudulentOrderIDs[3] = "D000";
Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.
Dans l’affichage EXPLORATEUR, pour ouvrir un terminal à l’emplacement de votre dossier TestProject, cliquez avec le bouton droit sur TestProject, puis sélectionnez Ouvrir dans le terminal intégré.
Un panneau Terminal doit s’ouvrir et doit inclure une invite de commandes indiquant que le terminal est ouvert à l’emplacement de votre dossier TestProject.
À l’invite de commandes Terminal, pour compiler votre code, tapez
dotnet build
, puis appuyez sur Entrée.Vous devez voir le message suivant :
Build succeeded. 0 Warning(s) 0 Error(s)
À l’invite de commandes Terminal, pour exécuter votre code, tapez
dotnet run
, puis appuyez sur Entrée.Lorsque vous exécutez l’application, vous recevez le message d’erreur d’exécution suivant :
Unhandled exception. System.IndexOutOfRangeException: Index was outside the bounds of the array. at Program.<Main>$(String[] args) in C:\Users\someuser\Desktop\CsharpProjects\TestProject\Program.cs:line 6
Notez les parties suivantes de l’erreur :
- Message d’erreur :
System.IndexOutOfRangeException: Index was outside the bounds of the array.
- Emplacement d’erreur :
Program.cs:line 6
- Message d’erreur :
Commentez la ligne qui a généré l’erreur d’exécution.
// fraudulentOrderIDs[3] = "D000";
Vous avez vu comment affecter une valeur à un élément de tableau. Vous allez maintenant voir comment accéder à une valeur qui est stockée dans un élément de tableau.
Récupérer des valeurs à partir d’éléments d’un tableau
L’accès à la valeur d’un élément de tableau fonctionne de la même façon que l’affectation d’une valeur à un élément de tableau. Vous spécifiez simplement l’index de l’élément dont vous souhaitez récupérer la valeur.
Pour écrire la valeur de chaque ID de commande frauduleux, mettez à jour votre code comme suit :
string[] fraudulentOrderIDs = new string[3]; fraudulentOrderIDs[0] = "A123"; fraudulentOrderIDs[1] = "B456"; fraudulentOrderIDs[2] = "C789"; // fraudulentOrderIDs[3] = "D000"; Console.WriteLine($"First: {fraudulentOrderIDs[0]}"); Console.WriteLine($"Second: {fraudulentOrderIDs[1]}"); Console.WriteLine($"Third: {fraudulentOrderIDs[2]}");
Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.
Dans l’affichage EXPLORATEUR, pour ouvrir un terminal à l’emplacement de votre dossier TestProject, cliquez avec le bouton droit sur TestProject, puis sélectionnez Ouvrir dans le terminal intégré.
À l’invite de commandes Terminal, tapez
dotnet run
, puis appuyez sur Entrée.Vous devez voir le message suivant :
First: A123 Second: B456 Third: C789
Réaffecter la valeur d’un tableau
Les éléments d’un tableau sont comme n’importe quelle autre valeur de variable. Vous pouvez affecter, récupérer et réaffecter une valeur à chaque élément du tableau.
À la fin de votre fichier de code, pour réaffecter puis imprimer la valeur du premier élément de tableau, entrez le code suivant :
fraudulentOrderIDs[0] = "F000"; Console.WriteLine($"Reassign First: {fraudulentOrderIDs[0]}");
Vérifiez que votre code correspond à l’exemple suivant :
string[] fraudulentOrderIDs = new string[3]; fraudulentOrderIDs[0] = "A123"; fraudulentOrderIDs[1] = "B456"; fraudulentOrderIDs[2] = "C789"; // fraudulentOrderIDs[3] = "D000"; Console.WriteLine($"First: {fraudulentOrderIDs[0]}"); Console.WriteLine($"Second: {fraudulentOrderIDs[1]}"); Console.WriteLine($"Third: {fraudulentOrderIDs[2]}"); fraudulentOrderIDs[0] = "F000"; Console.WriteLine($"Reassign First: {fraudulentOrderIDs[0]}");
Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.
Dans l’affichage EXPLORATEUR, pour ouvrir un terminal à l’emplacement de votre dossier TestProject, cliquez avec le bouton droit sur TestProject, puis sélectionnez Ouvrir dans le terminal intégré.
À l’invite de commandes Terminal, tapez
dotnet run
, puis appuyez sur Entrée.Vous devez voir le message suivant :
First: A123 Second: B456 Third: C789 Reassign First: F000
Initialiser un tableau
Vous pouvez initialiser un tableau lors de la déclaration comme vous le feriez avec une variable standard.
Commentez les lignes où vous déclarez la variable
fraudulentOrderIDs
.Vous pouvez utiliser un commentaire multiligne (
/* ... */
) pour commenter la déclaration defraudulentOrderIDs
et les lignes utilisées pour affecter des valeurs aux éléments du tableau.Pour déclarer les valeurs d’initialisation et le tableau dans une instruction unique, entrez le code suivant :
string[] fraudulentOrderIDs = [ "A123", "B456", "C789" ];
Cet exemple utilise la syntaxe Expression de collection qui a été introduite dans C# 12.
Vous pouvez également voir une plus ancienne syntaxe utilisée pour initialiser un tableau.
string[] fraudulentOrderIDs = { "A123", "B456", "C789" };
Notez que cette syntaxe antérieure utilise des accolades
{}
pour inclure les valeurs du tableau. Les deux syntaxes sont valides.Notes
Vous pouvez voir une combinaison de la syntaxe antérieure et de la syntaxe Expression de collection utilisée dans cette formation.
Vérifiez que votre code correspond à l’exemple suivant :
/* string[] fraudulentOrderIDs = new string[3]; fraudulentOrderIDs[0] = "A123"; fraudulentOrderIDs[1] = "B456"; fraudulentOrderIDs[2] = "C789"; // fraudulentOrderIDs[3] = "D000"; */ string[] fraudulentOrderIDs = [ "A123", "B456", "C789" ]; Console.WriteLine($"First: {fraudulentOrderIDs[0]}"); Console.WriteLine($"Second: {fraudulentOrderIDs[1]}"); Console.WriteLine($"Third: {fraudulentOrderIDs[2]}"); fraudulentOrderIDs[0] = "F000"; Console.WriteLine($"Reassign First: {fraudulentOrderIDs[0]}");
Prenez une minute pour examiner l’instruction de déclaration.
Notez que cette syntaxe est à la fois compacte et facile à lire. Quand vous exécutez l’application, aucune modification ne doit apparaître dans la sortie.
Dans le menu Fichier de Visual Studio Code, sélectionnez Enregistrer.
Dans l’affichage EXPLORATEUR, pour ouvrir un terminal à l’emplacement de votre dossier TestProject, cliquez avec le bouton droit sur TestProject, puis sélectionnez Ouvrir dans le terminal intégré.
À l’invite de commandes Terminal, tapez
dotnet run
, puis appuyez sur Entrée.Vous devriez voir le même message qu’auparavant :
First: A123 Second: B456 Third: C789 Reassign First: F000
Utiliser la propriété Length d’un tableau
Selon la façon dont le tableau est créé, vous ne connaissez peut-être pas à l’avance le nombre d’éléments contenus dans un tableau. Pour déterminer la taille d’un tableau, vous pouvez utiliser la propriété Length
.
Notes
La propriété Length
d’un tableau n’est pas de base zéro.
À la fin de votre fichier de code, pour signaler le nombre de commandes frauduleuses, entrez le code suivant :
Console.WriteLine($"There are {fraudulentOrderIDs.Length} fraudulent orders to process.");
Ce code utilise la propriété
Length
du tableau, un entier, pour retourner le nombre d’éléments dans votre tableaufraudulentOrderIDs
.Vérifiez que votre code correspond à cet exemple :
/* string[] fraudulentOrderIDs = new string[3]; fraudulentOrderIDs[0] = "A123"; fraudulentOrderIDs[1] = "B456"; fraudulentOrderIDs[2] = "C789"; // fraudulentOrderIDs[3] = "D000"; */ string[] fraudulentOrderIDs = [ "A123", "B456", "C789" ]; Console.WriteLine($"First: {fraudulentOrderIDs[0]}"); Console.WriteLine($"Second: {fraudulentOrderIDs[1]}"); Console.WriteLine($"Third: {fraudulentOrderIDs[2]}"); fraudulentOrderIDs[0] = "F000"; Console.WriteLine($"Reassign First: {fraudulentOrderIDs[0]}"); Console.WriteLine($"There are {fraudulentOrderIDs.Length} fraudulent orders to process.");
Enregistrez les modifications apportées à votre fichier Program.cs, puis exécutez l’application.
Vous devez normalement voir la sortie suivante :
First: A123 Second: B456 Third: C789 Reassign First: F000 There are 3 fraudulent orders to process.
Récapitulatif
Voici les points les plus importants à retenir lors de l’utilisation de tableaux :
- Un tableau est une variable spéciale qui contient une collection d’éléments de données associés.
- Vous devez mémoriser le format de base de la déclaration d’une variable tableau.
- Accédez à chaque élément d’un tableau pour définir ou obtenir ses valeurs en utilisant un index de base zéro à l’intérieur de crochets.
- Si vous tentez d’accéder à un index en dehors de la limite du tableau, vous recevez une exception au moment de l’exécution.
- La propriété
Length
vous donne un moyen de déterminer par programmation le nombre d’éléments d’un tableau.