RUBRIQUE about_Arrays DESCRIPTION COURTE Décrit une structure de données compacte pour le stockage d'éléments de données. DESCRIPTION LONGUE Un tableau est une structure de données servant à stocker une collection d'éléments de données de même type. Windows PowerShell prend en charge les éléments de données, tels que les types string, int (entier 32 bits), long (entier 64 bits), bool (Boolean), byte, ainsi que d'autres types d'objets Microsoft .NET Framework. CRÉATION ET INITIALISATION D'UN TABLEAU Pour créer et initialiser un tableau, affectez plusieurs valeurs à une variable. Les valeurs stockées dans le tableau sont délimitées par une virgule et séparées du nom de la variable par l'opérateur d'affectation (=). Par exemple, pour créer un tableau nommé $A contenant les sept valeurs numériques (int) 22, 5, 10, 8, 12, 9 et 80, tapez : $A = 22,5,10,8,12,9,80 Vous pouvez également créer et initialiser un tableau en utilisant l'opérateur de plage (..). Par exemple, pour créer et initialiser un tableau nommé " $B " qui contient les valeurs 5 à 8, tapez : $B = 5..8 Par conséquent, le tableau $B contient quatre valeurs : 5, 6, 7 et 8. Si aucun type de données n'est spécifié, Windows PowerShell crée chaque tableau sous forme de tableau d'objets (type : object[]). Pour déterminer le type de données d'un tableau, utilisez la méthode GetType(). Par exemple, pour déterminer le type de données du tableau $a, tapez : $a.gettype() Pour créer un tableau fortement typé, c'est-à-dire un tableau ne pouvant contenir que des valeurs d'un type particulier, effectuez une conversion de type (transtypage) de la variable vers le type tableau (par exemple, string[], long[] ou int32[]). Pour effectuer une conversion de type d'un tableau, faites précéder le nom de la variable d'un type tableau entre crochets. Par exemple, pour créer un tableau d'entiers 32 bits nommé $ia et contenant quatre entiers (1500, 2230, 3350 et 4000), tapez : [int32[]]$ia = 1500,2230,3350,4000 En conséquence, le tableau $ia ne peut contenir que des entiers. Vous pouvez créer des tableaux dont le type sera converti (transtypage) en n'importe quel type pris en charge dans Microsoft .NET Framework. Par exemple, les objets que Get-Process récupère pour représenter des processus sont de type System.Diagnostics.Process. Pour créer un tableau fortement typé d'objets Process, entrez la commande suivante : [Diagnostics.Process[]]$zz = Get-Process Vous pouvez remplir un tableau en utilisant la sortie d'une applet de commande, d'une fonction ou d'une instruction. Par exemple, l'instruction suivante crée un tableau contenant les processus dont le nom commence par les lettres " co " et qui s'exécutent sur l'ordinateur actuel : $LocalProcesses = get-process co* Si l'instruction n'obtient qu'un seul processus, la variable $LocalProcesses n'est pas un tableau. Pour que la commande crée un tableau, utilisez l'opérateur de sous-expression de tableau, @, comme indiqué dans l'exemple suivant : $LocalProcesses = @(get-process co*) Même si la commande retourne un processus unique, la variable $LocalProcesses est un tableau. Même s'il ne comporte qu'un seul membre, vous pouvez le traiter comme tout autre tableau. Par exemple, vous pouvez lui ajouter d'autres objets. Pour plus d'informations, consultez about_Operators. LECTURE D'UN TABLEAU Vous pouvez faire référence à un tableau en utilisant son nom de variable, comme $A ou $a. Windows PowerShell ne respecte pas la casse. Pour afficher tous les éléments du tableau, tapez son nom. Par exemple : $a Vous pouvez faire référence aux éléments d'un tableau en utilisant un index qui débute à la position 0. Placez le numéro d'index entre crochets. Par exemple, pour afficher le premier élément du tableau $a, tapez : $a[0] Pour afficher le troisième élément du tableau $a, tapez : $a[2] Les chiffres négatifs comptent à partir de la fin du tableau. Par exemple, " -1 " fait référence au dernier élément du tableau. Pour afficher les trois derniers éléments du tableau, tapez : $a[-3..-1] Toutefois, soyez prudent lorsque vous utilisez cette notation. $a[0..-2] Cette commande ne fait pas référence à tous les éléments du tableau, excepté pour le dernier, mais au premier, au dernier et à l'avant-dernier éléments du tableau. Vous pouvez utiliser l'opérateur de plage pour afficher un sous-ensemble de toutes les valeurs d'un tableau. Par exemple, pour afficher les éléments de données situés aux positions d'index 1 à 3, tapez : $a[1..3] Vous pouvez utiliser l'opérateur plus (+) pour combiner une plage et une liste d'éléments d'un tableau. Par exemple, pour afficher les éléments situés aux positions d'index 0, 2 et 4 à 6, tapez : $a[0,2+4..6] Pour déterminer le nombre d'éléments d'un tableau, combinez la plage et la propriété length d'un tableau. Par exemple, pour afficher les éléments situés entre la position d'index 2 et la fin du tableau, tapez : $a[2..($a.length-1)] La longueur (length) a la valeur -1, car l'index débute à la position 0. Par conséquent, dans un tableau à trois éléments (1,2,3), l'index du troisième élément est 2, valeur égale à la longueur du tableau, moins un. Vous pouvez également utiliser des constructions, telles que des boucles Foreach, For et While, pour faire référence aux éléments d'un tableau. Par exemple, pour utiliser une boucle Foreach afin d'afficher les éléments du tableau $a, tapez : foreach ($element in $a) {$element} La boucle Foreach parcourt le tableau et retourne chacune de ses valeurs jusqu'à ce que la fin de ce dernier soit atteinte. La boucle For est utile lorsque vous incrémentez des compteurs lors de l'examen des éléments d'un tableau. Par exemple, pour retourner une valeur sur deux d'un tableau au moyen d'une boucle For, tapez : for ($i = 0; $i -le ($a.length - 1); $i += 2) {$a[$i]} Vous pouvez utiliser une boucle While pour afficher les éléments d'un tableau jusqu'à ce qu'une condition définie par l'utilisateur ne soit plus remplie. Par exemple, pour afficher les éléments du tableau $a tant que l'index du tableau est inférieur à 4, tapez : $i=0 while($i -lt 4) {$a[$i]; $i++} Pour en savoir plus sur les propriétés et méthodes d'un tableau, telles que la propriété Length et la méthode SetValue, utilisez le paramètre InputObject de l'applet de commande Get-Member. Lorsque vous dirigez un tableau vers Get-Member, des informations sur les objets contenus dans le tableau s'affichent. Lorsque vous utilisez le paramètre InputObject, des informations sur le tableau s'affichent. Pour rechercher les propriétés et méthodes du tableau $a, tapez : get-member -inputobject $a MANIPULATION D'UN TABLEAU Vous pouvez modifier les éléments d'un tableau, ajouter un élément à un tableau et combiner les valeurs de deux tableaux dans un troisième. Pour modifier la valeur d'un élément particulier d'un tableau, spécifiez le nom du tableau et l'index de l'élément concerné, puis utilisez l'opérateur d'affectation (=) pour spécifier une nouvelle valeur pour cet élément. Par exemple, pour remplacer la valeur du deuxième élément du tableau $a (position d'index 1) par 10, tapez : $a[1] = 10 Vous pouvez également utiliser la méthode SetValue d'un tableau pour modifier une valeur. Dans l'exemple suivant, la deuxième valeur (position d'index 1) du tableau $a est remplacée par 500 : $a.SetValue(500,1) Vous pouvez ajouter un élément à un tableau existant en utilisant l'opérateur +=. Cet opérateur ajoute une valeur à une valeur existante. Lorsque l'opérateur est utilisé sur un élément de tableau, il augmente la valeur de cet élément. Lorsqu'il est employé sur le tableau lui-même, il ajoute la valeur au tableau. Par exemple, pour ajouter un élément dont la valeur est 200 au tableau $a, tapez : $a += 200 Il n'est pas facile de supprimer des éléments d'un tableau, mais vous pouvez créer un tableau qui ne contiendra que les éléments sélectionnés d'un tableau existant. Par exemple, pour créer le tableau $t avec tous les éléments du tableau $a à l'exception de la valeur située à la position d'index 2, tapez : $t = $a[0,1 + 3..($a.length - 1)] Pour combiner deux tableaux en un seul, utilisez l'opérateur plus (+). L'exemple suivant permet de créer deux tableaux, de les combiner, puis d'afficher le tableau combiné obtenu. $x = 1,3 $y = 5,9 $z = $x + $y En conséquence, le tableau $z contient 1, 3, 5 et 9. Pour supprimer un tableau, utilisez l'applet de commande Remove-Item afin de supprimer la variable qui le contient. La commande suivante spécifie l'élément " a " du lecteur Variable:. remove-item variable:a (Pour plus d'informations sur le lecteur Variable:, consultez la rubrique d'aide « Fournisseur Variable ».) VOIR AUSSI about_Assignment_Operators about_Hash_Tables about_Operators about_For about_Foreach about_While