Techniques d'intégration multimédia, prof(s):
Un tableau est un objet qui permet en gros de stocker plusieurs valeurs de même type dans une seule variable.
Il y a plusieurs façon de déclarer un tableau.
// Façon 1: Déclaration sans initialisation
// La longueur du tableau est spécifiée, mais on le peuplera plus tard...
int[] mesNombres = new int[6]; // tableau de 6 items
// Façon 2: Déclaration avec initialisation directe
// (pas besoin d'indiquer le nombre d'items dans les crochets dans ce cas)
string[] mesMots = new string[] {"pomme","poire","raisin"}; // tableau de 3 items
// Façon 3: Déclaration avec initialisation directe simplifiée
// (Plus court et plus utilisé que la façon 2!)
float[] mesFloat ={1.2f, 4f, 5.7f, 3f}; // tableau de 4 items
On peut accèder à une valeur si on connaît son indice. On peut consulter ce valeur (pour l'afficher par exemple), ou la modifier.
// Tableau de 5 entiers pour cet exemple
int[] mesNombres = {3,6,9,5,8}; // tableau de 5 items
// Donc:
// 3 est à l'indice 0
// 6 est à l'indice 1
// 9 est à l'indice 2
// 5 est à l'indice 3
// 8 est à l'indice 4
// Si je veux afficher la valeur 9 à partir de ce tableau:
Debug.Log( mesNombres[2] );
// Si je veux afficher la valeur 9 à partir de ce tableau:
Debug.Log( mesNombres[2] );
// Si je veux remplacer la valeur 6 de ce tableau par un 0:
mesNombres[1] = 0; // le tableau vaut maintenant {3,0,9,5,8}
// Si je veux faire la somme des 2 dernières valeurs du tableau:
int total = mesNombres[3] + mesNombres[4]; // total vaut maintenant 13
// Si je veux augmenter de 10 la dernière valeur du tableau (pour qu'elle soit 18):
mesNombres[4] = mesNombres[4] + 10;
// ou...
mesNombres[4] += 10;
Au besoin, on peut mesurer la longueur d'un tableau par programmation grâce à la propriété Length:
int[] mesNombres = {3,6,9,5,8};
int nb = mesNombres.Length;
Debug.Log( "Ce tableau contient " + nb + " valeurs." );
// Affiche: Ce tableau contient 5 valeurs.
int[] tableau = {1,2,3};
string chaine = string.Join(",", tableau);
Debug.Log(chaine);
// Affiche 1,2,3
Un tableau est un objet complexe, et non pas une simple valeur primitive comme int ou float. En ce sens, il est impossible de comparer directement 2 tableaux.
Si int[] a={1,2,3} et int[] b={1,2,3} la comparaison a==b donne false, car a et b sont des objets différents (même si ils contiennent des valeurs identiques)!
Pour comparer correctement 2 tableaux, il faut trouver une façon de comparer une à une les valeurs d'un tableau à celles de l'autre (nous verrons quelques approches pour faire cela plus tard).