ZetCode

PowerShell 哈希表

最后修改:2025 年 2 月 15 日

在本文中,我们将介绍 PowerShell 哈希表的基础知识,这是一种在 PowerShell 中存储和管理数据的强大数据结构。

哈希表是键值对的集合。

创建哈希表

在第一个示例中,我们将演示如何在 PowerShell 中创建哈希表。

hashtable1.ps1
$person = @{
    Name = "John Doe"
    Age = 35
}

Write-Output "Name: $($person.Name)"
Write-Output "Age: $($person.Age)"

在此程序中,我们创建一个包含两个键值对的哈希表 $person

$person = @{
    Name = "John Doe"
    Age = 35
}

我们创建一个包含两个键值对的哈希表 $person。键是 NameAge

Write-Output "Name: $($person.Name)"
Write-Output "Age: $($person.Age)"

我们使用点表示法访问哈希表的值。

PS C:\> .\hashtable1.ps1
Name: John Doe
Age: 35

我们运行脚本并查看输出。

添加元素

在下一个示例中,我们将演示如何向哈希表添加元素。

hashtable2.ps1
$person = @{
    Name = "John Doe"
    Age = 35
}

$person.City = "New York"

Write-Output "Name: $($person.Name)"
Write-Output "Age: $($person.Age)"
Write-Output "City: $($person.City)"

在此程序中,我们将一个新元素 City 添加到哈希表中。

$person = @{
    Name = "John Doe"
    Age = 35
}

$person.City = "New York"

我们创建一个包含两个键值对的哈希表 $person。我们将一个新的键值对 City 添加到哈希表中。

Write-Output "Name: $($person.Name)"
Write-Output "Age: $($person.Age)"
Write-Output "City: $($person.City)"

我们使用点表示法访问哈希表的值。

PS C:\> .\hashtable2.ps1
Name: John Doe
Age: 35
City: New York

我们运行脚本并查看输出。

遍历哈希表

在接下来的示例中,我们将演示如何遍历哈希表。

hashtable3.ps1
$person = @{
    Name = "John Doe"
    Age = 35
    City = "New York"
}

foreach ($key in $person.Keys) {
    Write-Output "Key: $key, Value: $($person[$key])"
}

在此程序中,我们使用 foreach 循环来遍历哈希表。

$person = @{
    Name = "John Doe"
    Age = 35
    City = "New York"
}

我们创建一个包含三个键值对的哈希表 $person

foreach ($key in $person.Keys) {
    Write-Output "Key: $key, Value: $($person[$key])"
}

我们使用 foreach 循环来遍历哈希表。我们使用 Keys 属性获取哈希表中键的列表。我们使用索引运算符 [] 来访问哈希表中的每个元素。

PS C:\> .\hashtable3.ps1
Key: Name, Value: John Doe
Key: Age, Value: 35
Key: City, Value: New York

我们运行脚本并查看输出。

删除元素

在最后一个示例中,我们将演示如何从哈希表中删除元素。

hashtable4.ps1
$person = @{
    Name = "John Doe"
    Age = 35
    City = "New York"
}

$person.Remove("Age")

foreach ($key in $person.Keys) {
    Write-Output "Key: $key, Value: $($person[$key])"
}

在此程序中,我们将 Age 元素从哈希表中删除。

$person = @{
    Name = "John Doe"
    Age = 35
    City = "New York"
}

$person.Remove("Age")

我们创建一个包含三个键值对的哈希表 $person。我们将 Age 元素从哈希表中删除。

foreach ($key in $person.Keys) {
    Write-Output "Key: $key, Value: $($person[$key])"
}

我们使用 foreach 循环来遍历哈希表。我们使用 Keys 属性获取哈希表中键的列表。我们使用索引运算符 [] 来访问哈希表中的每个元素。

PS C:\> .\hashtable4.ps1
Key: Name, Value: John Doe
Key: City, Value: New York

我们运行脚本并查看输出。

来源

PowerShell 文档

在本文中,我们研究了 PowerShell 哈希表。

作者

我叫 Jan Bodnar,我是一名充满热情的程序员,拥有丰富的编程经验。我自 2007 年以来一直在撰写编程文章。迄今为止,我已撰写了 1400 多篇文章和 8 本电子书。我在教学编程方面拥有十多年的经验。

列出 所有 PowerShell 教程