Tableaux PowerShell
De Linuxmemo.
Sommaire |
[modifier] Tableau classique
[modifier] Déclaration (d'un tableau vide)
$NomTableau = @()
ou avec un typage
[String[]]$NomTableau = @()
Déclaration avec initialisation en même temps
$tab = @(1,5,9,10,6) ou $tab = 1,5,9,10,6
[modifier] Lecture d'un tableau
$tab[0] $tab[0,2] $tab[1..20
- Dernier indice
$tab[$tab.length-1] ou $tab[-1] $tab[-3..-1]
Quand on utilise un indice négatif, on fait référence depuis la fin du tableau.
[modifier] Concaténation
$chaine1 = 'a','z','e','r','t','y' $chaine2 = 'a','z','e','r','t','y' $chaine1 + $chaine2
[modifier] Ajout
$tab = 1,2,3 $tab += 4
[modifier] Modification
$tab[2]=1
[modifier] Suppression
$tab = 12,18,10,14,8,11 Pour supprimer 8 on recopie le tableau a l’exception de l'indice 4 $tab = $tab[0..3 + 5] Ou avec un filtre des valeurs inférieur a 10 $tab = $tab | Where-Object {$_ -ge 10}
[modifier] Taille du tableau
$tab = @('A','24','12','C') $tab.length
[modifier] Convertir en chaîne le contenu
[String]$tab
[modifier] Tableau à plusieurs dimensions
Il faut jouer avec les indices horizontaux et verticaux
$tab[0][2]
La plus par du temps, un tableau a plusieurs dimensions est un tableau de tableau
$tab = @(10..13),@('si','ca'),@(1.2,0.3,2.33)
[modifier] Table de hachage (tableau associatifs)
Clé / valeur
- déclaration
$hashtable = @{} # vide $hashtable = @{<clé = valeur>; <clé2 = valeur2>;...}
- lecture
$hashtable # tout le contenu $hashtable.clé ou $hashtable.'clé'
[modifier] Ajout
$hashtable += @{<clé3 = valeur3>}
[modifier] Parcourir le tableau
- depuis les clés
$hashtable.keys # propriété keys
- depuis les valeurs
$hashtable.values # propriété values ou $hashtable.keys | Foreach { $hashtable.$_ }
[modifier] Table de hachage ordonnés (respect de l'ordre de renseignement)
$hashtable = [ordered]@{<clé = valeur>; <clé2 = valeur2>;...}