PowerShell
hashtables
Zoeken…
Invoering
Opmerkingen
Een belangrijk concept dat afhankelijk is van Hash-tabellen is Splatting . Het is erg handig voor het maken van een groot aantal oproepen met repetitieve parameters.
Een hashtabel maken
Voorbeeld van het maken van een lege HashTable:
$hashTable = @{}
Voorbeeld van het maken van een hashtabel met gegevens:
$hashTable = @{
Name1 = 'Value'
Name2 = 'Value'
Name3 = 'Value3'
}
Toegang tot een hashtabelwaarde per sleutel.
Een voorbeeld van het definiëren van een hashtabel en het openen van een waarde met de sleutel
$hashTable = @{
Key1 = 'Value1'
Key2 = 'Value2'
}
$hashTable.Key1
#output
Value1
Een voorbeeld van toegang tot een sleutel met ongeldige tekens voor een eigenschapsnaam:
$hashTable = @{
'Key 1' = 'Value3'
Key2 = 'Value4'
}
$hashTable.'Key 1'
#Output
Value3
Lussen over een hashtafel
$hashTable = @{
Key1 = 'Value1'
Key2 = 'Value2'
}
foreach($key in $hashTable.Keys)
{
$value = $hashTable.$key
Write-Output "$key : $value"
}
#Output
Key1 : Value1
Key2 : Value2
Voeg een sleutelwaardepaar toe aan een bestaande hashtabel
Een voorbeeld om een sleutel "Key2" met de waarde "Value2" toe te voegen aan de hashtabel, met behulp van de operator operator:
$hashTable = @{
Key1 = 'Value1'
}
$hashTable += @{Key2 = 'Value2'}
$hashTable
#Output
Name Value
---- -----
Key1 Value1
Key2 Value2
Een voorbeeld om een sleutel "Key2" met de waarde "Value2" toe te voegen aan de hashtabel met de methode Add:
$hashTable = @{
Key1 = 'Value1'
}
$hashTable.Add("Key2", "Value2")
$hashTable
#Output
Name Value
---- -----
Key1 Value1
Key2 Value2
Opsommen via sleutels en sleutel / waarde-paren
Opsommen door toetsen
foreach ($key in $var1.Keys) {
$value = $var1[$key]
# or
$value = $var1.$key
}
Opsommen via sleutel / waarde-paren
foreach ($keyvaluepair in $var1.GetEnumerator()) {
$key1 = $_.Key1
$val1 = $_.Val1
}
Verwijder een sleutelwaardepaar uit een bestaande hashtabel
Een voorbeeld om een sleutel "Key2" met de waarde "Value2" uit de hashtabel te verwijderen met de operator remove:
$hashTable = @{
Key1 = 'Value1'
Key2 = 'Value2'
}
$hashTable.Remove("Key2", "Value2")
$hashTable
#Output
Name Value
---- -----
Key1 Value1