PowerShell
HashTables
Поиск…
Вступление
замечания
Важной концепцией, основанной на таблицах 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