Поиск…


Вступление

Хэш-таблица - это структура, которая отображает ключи к значениям. Подробнее см. В разделе « Хэш-таблица» .

замечания

Важной концепцией, основанной на таблицах Hash, является Splatting . Это очень полезно для создания большого количества вызовов с повторяющимися параметрами.

Создание таблицы хешей

Пример создания пустой HashTable:

$hashTable = @{}

Пример создания HashTable с данными:

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

Получите доступ к значению хэш-таблицы по ключу.

Пример определения хэш-таблицы и доступа к значению с помощью ключа

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

Пример доступа к ключу с недопустимыми символами для имени свойства:

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

Зацикливание по хеш-таблице

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

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

Добавить пару ключевых значений в существующую хеш-таблицу

Например, чтобы добавить ключ «Key2» со значением «Value2» в хэш-таблицу, используя оператор добавления:

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

#Output

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

Например, чтобы добавить ключ «Key2» со значением «Value2» в хэш-таблицу с помощью метода «Добавить»:

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

#Output

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

Перечисление через ключи и пары ключевых значений

Перечисление через ключи

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

Перечисление через пары ключевого значения

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

Удаление пары значений ключа из существующей хеш-таблицы

Например, чтобы удалить ключ «Key2» со значением «Value2» из хеш-таблицы, используя оператор 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
Лицензировано согласно CC BY-SA 3.0
Не связан с Stack Overflow