Powershell – 哈希表
Hashtable将键/值对存储在哈希表中.使用Hashtable时,您可以指定用作键的对象,以及要链接到该键的值.通常我们使用String或数字作为键.
本教程介绍如何使用其方法声明哈希表变量,创建哈希表和处理哈希表.
声明哈希表变量
要在程序中使用哈希表,必须声明一个变量以引用哈希表.以下是声明哈希表变量&minus的语法;
语法
$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
or
$hash = @{}
注意 : 可以使用类似的语法创建有序词典.有序字典维护添加条目的顺序,而哈希表则不会.
示例
以下代码片段是此语法的示例 :
$hash = [ordered]@{ ID = 1; Shape = "Square"; Color = "Blue"}
打印哈希表.
$ hash
输出
Name Value ---- ----- ID 1 Color Blue Shape Square
哈希表值可通过键.
> $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