PowerShell
HashTables
Recherche…
Introduction
Remarques
Un concept important qui repose sur les tables de hachage est la fragmentation . C'est très utile pour faire un grand nombre d'appels avec des paramètres répétitifs.
Créer une table de hachage
Exemple de création d'un HashTable vide:
$hashTable = @{}
Exemple de création d'une table de hachage avec des données:
$hashTable = @{
Name1 = 'Value'
Name2 = 'Value'
Name3 = 'Value3'
}
Accédez à une valeur de table de hachage par clé.
Un exemple de définition d'une table de hachage et d'accès à une valeur par la clé
$hashTable = @{
Key1 = 'Value1'
Key2 = 'Value2'
}
$hashTable.Key1
#output
Value1
Exemple d'accès à une clé comportant des caractères non valides pour un nom de propriété:
$hashTable = @{
'Key 1' = 'Value3'
Key2 = 'Value4'
}
$hashTable.'Key 1'
#Output
Value3
En boucle sur une table de hachage
$hashTable = @{
Key1 = 'Value1'
Key2 = 'Value2'
}
foreach($key in $hashTable.Keys)
{
$value = $hashTable.$key
Write-Output "$key : $value"
}
#Output
Key1 : Value1
Key2 : Value2
Ajouter une paire de valeurs de clé à une table de hachage existante
Par exemple, pour ajouter une clé "Key2" avec une valeur "Value2" à la table de hachage, en utilisant l'opérateur d'addition:
$hashTable = @{
Key1 = 'Value1'
}
$hashTable += @{Key2 = 'Value2'}
$hashTable
#Output
Name Value
---- -----
Key1 Value1
Key2 Value2
Un exemple, pour ajouter une clé "Key2" avec une valeur de "Value2" à la table de hachage à l'aide de la méthode Add:
$hashTable = @{
Key1 = 'Value1'
}
$hashTable.Add("Key2", "Value2")
$hashTable
#Output
Name Value
---- -----
Key1 Value1
Key2 Value2
Enumérer à travers les clés et les paires valeur-clé
Enumérer à travers les clés
foreach ($key in $var1.Keys) {
$value = $var1[$key]
# or
$value = $var1.$key
}
Enumérer à travers des paires valeur-clé
foreach ($keyvaluepair in $var1.GetEnumerator()) {
$key1 = $_.Key1
$val1 = $_.Val1
}
Supprimer une paire de valeurs de clé d'une table de hachage existante
Par exemple, pour supprimer une clé "Key2" avec la valeur "Value2" de la table de hachage, à l'aide de l'opérateur de suppression:
$hashTable = @{
Key1 = 'Value1'
Key2 = 'Value2'
}
$hashTable.Remove("Key2", "Value2")
$hashTable
#Output
Name Value
---- -----
Key1 Value1