Ricerca…


introduzione

Una tabella hash è una struttura che mappa le chiavi ai valori. Vedi Tabella hash per i dettagli.

Osservazioni

Un concetto importante che si basa su Hash Tables è Splatting . È molto utile per fare un gran numero di chiamate con parametri ripetitivi.

Creazione di una tabella hash

Esempio di creazione di una HashTable vuota:

$hashTable = @{}

Esempio di creazione di una HashTable con dati:

$hashTable = @{
    Name1 = 'Value'
    Name2 = 'Value'
    Name3 = 'Value3'
}

Accedere a un valore di tabella hash per chiave.

Un esempio di definizione di una tabella hash e accesso a un valore tramite la chiave

$hashTable = @{
    Key1 = 'Value1'
    Key2 = 'Value2'
}
$hashTable.Key1
#output
Value1

Un esempio di accesso a una chiave con caratteri non validi per un nome di proprietà:

$hashTable = @{
    'Key 1' = 'Value3'
    Key2 = 'Value4'
}
$hashTable.'Key 1'
#Output
Value3

Fare il ciclo su un tavolo hash

$hashTable = @{
    Key1 = 'Value1'
    Key2 = 'Value2'
}

foreach($key in $hashTable.Keys)
{
    $value = $hashTable.$key
    Write-Output "$key : $value"
}
#Output
Key1 : Value1
Key2 : Value2

Aggiungi una coppia di valori chiave a una tabella hash esistente

Un esempio, per aggiungere una chiave "Chiave2" con un valore di "Valore2" alla tabella hash, utilizzando l'operatore addizione:

$hashTable = @{
    Key1 = 'Value1'
}
$hashTable += @{Key2 = 'Value2'}
$hashTable

#Output

Name                           Value
----                           -----
Key1                           Value1
Key2                           Value2

Un esempio, per aggiungere una chiave "Key2" con un valore di "Value2" alla tabella hash usando il metodo Add:

$hashTable = @{
    Key1 = 'Value1'
}
$hashTable.Add("Key2", "Value2")
$hashTable

#Output

Name                           Value
----                           -----
Key1                           Value1
Key2                           Value2

Enumerazione tramite chiavi e coppie valore-chiave

Enumerazione tramite chiavi

foreach ($key in $var1.Keys) {
    $value = $var1[$key]
    # or
    $value = $var1.$key 
}

Enumerazione tramite coppie di valori-chiave

foreach ($keyvaluepair in $var1.GetEnumerator()) {
    $key1 = $_.Key1
    $val1 = $_.Val1
}

Rimuovere una coppia di valori chiave da una tabella hash esistente

Un esempio, per rimuovere una chiave "Key2" con un valore di "Value2" dalla tabella hash, utilizzando l'operatore remove:

$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
Autorizzato sotto CC BY-SA 3.0
Non affiliato con Stack Overflow