Archives Wild Code School
C#

1. Un tableau

Quête 13 sur 46

Après cette quête tu pourras créer et manipuler des tableaux de taille fixe

Objectifs

  • Déclarer des tableaux de taille fixe
  • Modifier les tableaux à la volée

Déclarer un instancier un tableau

En C#, on déclare un tableau en utilisant une syntaxe particulière. Les tableaux déclarés en C# contiennent des valeurs d'un type fixe. Par conséquent il est possible de déclarer un tableau contenant uniquement des int, mais il sera impossible de lui ajouter des valeurs de type char à moins de transformer leurs types en int.

Voici une déclaration de tableau d'entiers:

cs
int[] intArray;

En clair, pour déclarer un tableau contenant des valeurs d'un certain type il faut ajouter deux crochets derrière le type voulu: string[], char[], float[] ...

Les tableau déclarés ci-dessus ne sont pas instanciés. C'est-à-dire qu'il est déclaré qu'ils existent, mais ils n'ont aucune valeur. En fait, ils sont vides. Je vais même aller plus loin: ils n'existent pas. Pour affecter un tableau dans la variable, il faut créer le tableau.

Et donc, comment je fais ?

Un opérateur en C# qui crée un objet est disponible. Il se nomme new. new peut-être traduit en créer, bien que sa traduction littérale soit "nouveau".

Mettons tout cela ensemble !

cs
int[] intArray;
intArray = new int[3];

Ceci peut même être réduit en:

cs
int[] intArray = new int[3];

Les deux blocs de code ci-dessus instancient un tableau de taille 3. Comme tu as pu le déduire, on ne spécifie pas la taille lors de la déclaration mais lors de l'affectation.

Il existe une autre syntaxe qui permet d'instancier des tableaux:

cs
char[] charArray = { 'c', 'h', 'a', 'r' };

Cette déclaration ci-dessus affecte un tableau avec des valeurs déjà contenues à l'intérieur. Aucun besoin de spécifier la taille puisqu'elle dépend du nombre d'éléments que tu mets dans le tableau.

Mais une fois crée, comment je modifie les valeurs à l'intérieur du tableau ?

↗
MSDN: Déclaration de tableaux unidimensionnels
docs.microsoft.com

Modifier un tableau

Lorsqu'un tableau est instancié il est possible d'accéder aux valeurs qu'il contient avec une syntaxe particulière: le nom de la variable de type tableau (tableau) et l'indice de l'élément du tableau en question entre crochets.

L'indice ?

Lorsque l'on parle d'indice, on fait référence au concept d'indexation. On rencontre souvent le terme indice anglicisé en index. L'indice est aussi appelé clé. L'indice est l'endroit dans lequel est stocké la valeur dans le tableau.

C'est tout ?

Oui, c'est aussi simple que cela, a une subtilité près ...

cs
char[] charArray = new char[6];
charArray[0] = 's';
charArray[1] = 'i';
charArray[2] = 'm';
charArray[3] = 'p';
charArray[4] = 'l';
charArray[5] = 'e';

Ne vois-tu pas quelque chose de bizarre qui retient ton attention dans le code ci-dessus ?

Je déclare un tableau de taille 6, et j'accède au premier élément avec l'indice 0 ? Ça veut dire que l'indice de mon dernier élément est 5 ?

C'est exactement ça, ton tableau contient 6 éléments, et les indices du tableau démarrent à partir de 0. C'est effectivement plutôt bizarre mais au fur et à mesure ça te paraîtra tout à fait logique et censé.

↗
Les tableaux en C#

Lire "Les bases" -> "La déclaration"

dotnetdojo.com

Challenge

Copie de tableau

  1. Crée trois tableaux qui contiennent le même type de données:

    • deux de même taille

    • un qui a le double de la taille des deux précédents

  2. Met des valeurs à tous les indices des deux premiers tableaux

  3. Met à la suite les deux premiers tableaux dans le plus grand

Critères de validation

  • Un lien vers ta solution sur GitHub

  • Le troisième tableau fait la taille des deux premiers

  • Les valeurs du troisième tableau sont celles du premier et du deuxième mis à la suite