Powershell - Hashtables
Hashtable armazena pares de chave / valor em uma tabela hash. Ao usar um Hashtable, você especifica um objeto que é usado como uma chave e o valor que deseja vincular a essa chave. Geralmente usamos String ou números como chaves.
Este tutorial apresenta como declarar variáveis hashtable, criar hashtables e processar hashtable usando seus métodos.
Declaração de variáveis hashtable
Para usar uma tabela de hash em um programa, você deve declarar uma variável para referenciar a tabela de hash. Aqui está a sintaxe para declarar uma variável hashtable -
Sintaxe
$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
or
$hash = @{}
Note- Dicionários ordenados podem ser criados usando sintaxe semelhante. Os dicionários ordenados mantêm a ordem em que as entradas são adicionadas, enquanto os hashtables não.
Exemplo
Os seguintes trechos de código são exemplos dessa sintaxe -
$hash = [ordered]@{ ID = 1; Shape = "Square"; Color = "Blue"}
Imprima a tabela de hash.
$hash
Resultado
Name Value
---- -----
ID 1
Color Blue
Shape Square
Os valores da tabela de hash são acessados por meio do keys.
> $hash["ID"]
1
Processando Hashtable
A notação de pontos pode ser usada para acessar chaves ou valores de hashtables.
> $hash.keys
ID
Color
Shape
> $hash.values
1
Blue
Square
Exemplo
Aqui está um exemplo completo que mostra como criar, inicializar e processar hashtable -
$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
Isso produzirá o seguinte resultado -
Resultado
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