Powershell - Hashtables
Hashtable almacena pares clave / valor en una tabla hash. Cuando usa una tabla hash, especifica un objeto que se usa como clave y el valor que desea vincular a esa clave. Generalmente usamos String o números como claves.
Este tutorial presenta cómo declarar variables de tabla hash, crear tablas hash y procesar tablas hash utilizando sus métodos.
Declaración de variables hashtable
Para usar una tabla hash en un programa, debe declarar una variable para hacer referencia a la tabla hash. Aquí está la sintaxis para declarar una variable de tabla hash:
Sintaxis
$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
or
$hash = @{}
Note- Los diccionarios pedidos se pueden crear utilizando una sintaxis similar. Los diccionarios ordenados mantienen el orden en el que se agregan las entradas, mientras que las tablas hash no.
Ejemplo
Los siguientes fragmentos de código son ejemplos de esta sintaxis:
$hash = [ordered]@{ ID = 1; Shape = "Square"; Color = "Blue"}
Imprime la tabla hash.
$hash
Salida
Name Value
---- -----
ID 1
Color Blue
Shape Square
Se accede a los valores de la tabla hash a través del keys.
> $hash["ID"]
1
Procesando Hashtable
La notación de puntos se puede utilizar para acceder a claves o valores de tablas hash.
> $hash.keys
ID
Color
Shape
> $hash.values
1
Blue
Square
Ejemplo
Aquí hay un ejemplo completo que muestra cómo crear, inicializar y procesar la tabla hash:
$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
Esto producirá el siguiente resultado:
Salida
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