Powershell - Хеш-таблицы
Hashtable хранит пары ключ / значение в хеш-таблице. При использовании Hashtable вы указываете объект, который используется в качестве ключа, и значение, которое вы хотите связать с этим ключом. Обычно мы использовали String или числа в качестве ключей.
В этом руководстве рассказывается, как объявлять переменные хеш-таблицы, создавать хеш-таблицы и обрабатывать хеш-таблицу с помощью их методов.
Объявление переменных хеш-таблицы
Чтобы использовать хеш-таблицу в программе, вы должны объявить переменную для ссылки на хеш-таблицу. Вот синтаксис для объявления переменной хеш-таблицы -
Синтаксис
$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
or
$hash = @{}
Note- Упорядоченные словари могут быть созданы с использованием аналогичного синтаксиса. Упорядоченные словари поддерживают порядок, в котором добавляются записи, а хэш-таблицы - нет.
пример
Следующие фрагменты кода являются примерами этого синтаксиса:
$hash = [ordered]@{ ID = 1; Shape = "Square"; Color = "Blue"}
Распечатайте хеш-таблицу.
$hash
Вывод
Name Value
---- -----
ID 1
Color Blue
Shape Square
Доступ к значениям хэш-таблицы осуществляется через keys.
> $hash["ID"]
1
Обработка Hashtable
Для доступа к ключам или значениям хэш-таблиц можно использовать точечную нотацию.
> $hash.keys
ID
Color
Shape
> $hash.values
1
Blue
Square
пример
Вот полный пример, показывающий, как создавать, инициализировать и обрабатывать хеш-таблицу:
$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
Это даст следующий результат -
Вывод
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