Buscar..


Introducción

Una tabla hash es una estructura que asigna claves a valores. Ver tabla de hash para más detalles.

Observaciones

Un concepto importante que se basa en tablas hash es Splatting . Es muy útil para hacer un gran número de llamadas con parámetros repetitivos.

Creación de una tabla hash

Ejemplo de crear una HashTable vacía:

$hashTable = @{}

Ejemplo de creación de una tabla hash con datos:

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

Acceda a un valor de tabla hash por clave.

Un ejemplo de cómo definir una tabla hash y acceder a un valor mediante la clave

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

Un ejemplo de acceso a una clave con caracteres no válidos para un nombre de propiedad:

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

Buceando sobre una mesa de hash

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

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

Agregar un par de valores clave a una tabla hash existente

Un ejemplo, para agregar una clave "Clave2" con un valor de "Valor2" a la tabla hash, usando el operador de suma:

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

#Output

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

Un ejemplo, para agregar una clave "Clave2" con un valor de "Valor2" a la tabla hash usando el método Agregar:

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

#Output

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

Enumeración a través de claves y pares clave-valor

Enumerar a través de claves

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

Enumeración a través de pares clave-valor

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

Eliminar un par de valores clave de una tabla hash existente

Un ejemplo, para eliminar una clave "Clave2" con un valor de "Valor2" de la tabla hash, utilizando el operador eliminar:

$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
Licenciado bajo CC BY-SA 3.0
No afiliado a Stack Overflow