Recherche…


Introduction

Une table de hachage est une structure qui mappe les clés aux valeurs. Voir la table de hachage pour plus de détails.

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


Modified text is an extract of the original Stack Overflow Documentation
Sous licence CC BY-SA 3.0
Non affilié à Stack Overflow