Powershell - Hashtables
Hashtable stocke les paires clé / valeur dans une table de hachage. Lorsque vous utilisez une table de hachage, vous spécifiez un objet utilisé comme clé et la valeur que vous souhaitez lier à cette clé. Généralement, nous avons utilisé des chaînes ou des nombres comme clés.
Ce didacticiel explique comment déclarer des variables de table de hachage, créer des tables de hachage et traiter une table de hachage à l'aide de ses méthodes.
Déclaration des variables de hachage
Pour utiliser une table de hachage dans un programme, vous devez déclarer une variable pour référencer la table de hachage. Voici la syntaxe pour déclarer une variable de hachage -
Syntaxe
$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
or
$hash = @{}
Note- Des dictionnaires ordonnés peuvent être créés en utilisant une syntaxe similaire. Les dictionnaires ordonnés conservent l'ordre dans lequel les entrées sont ajoutées, contrairement aux tables de hachage.
Exemple
Les extraits de code suivants sont des exemples de cette syntaxe -
$hash = [ordered]@{ ID = 1; Shape = "Square"; Color = "Blue"}
Imprimez la table de hachage.
$hash
Production
Name Value
---- -----
ID 1
Color Blue
Shape Square
Les valeurs de la table de hachage sont accessibles via le keys.
> $hash["ID"]
1
Traitement de la table de hachage
La notation par points peut être utilisée pour accéder aux clés ou aux valeurs de hashtables.
> $hash.keys
ID
Color
Shape
> $hash.values
1
Blue
Square
Exemple
Voici un exemple complet montrant comment créer, initialiser et traiter une table de hachage -
$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
write-host("Print all hashtable keys")
$hash.keys
write-host("Print all hashtable values")
$hash.values
write-host("Get ID")
$hash["ID"]
write-host("Get Shape")
$hash.Number
write-host("print Size")
$hash.Count
write-host("Add key-value")
$hash["Updated"] = "Now"
write-host("Add key-value")
$hash.Add("Created","Now")
write-host("print Size")
$hash.Count
write-host("Remove key-value")
$hash.Remove("Updated")
write-host("print Size")
$hash.Count
write-host("sort by key")
$hash.GetEnumerator() | Sort-Object -Property key
Cela produira le résultat suivant -
Production
Print all hashtable keys
ID
Color
Shape
Print all hashtable values
1
Blue
Square
Get ID
1
Get Shape
print Size
3
Add key-value
Add key-value
print Size
5
Remove key-value
print Size
4
sort by key
Name Value
---- -----
Color Blue
Created Now
ID 1
Shape
Square