哈希表(hashtable)有时候也被称为:“关联数组”或“字典”。哈希表可以称得上是计算机科学中最重要的数据结构之一,例如:在计算机操作系统、数据库系统、编译器、加密算法等计算机底层程序中,哈希表都发挥着重要的作用。
在传统的Unix环境中,awk程序内置的关联数组,为数据处理提供了便捷的手段。因此掌握哈希表类型,可以使您在解决工作中的问题时候,更加得心应手。
如何声明一个哈希表对象?哈希表的创建是非常简单的,请看如下示例:
PS C:\Users\fliu> $hash = @{}
PS C:\Users\fliu> $hash.GetType().FullName
System.Collections.Hashtable
PS C:\Users\fliu> $hash.Count
0
首先使用“@{}”创建一个空的哈希表,并将其保存在变量$hash中。由于只是初始化了一个空哈希表,所以返回结果是0。如果在初始化时,需要添加一些键值对到哈希表的话,我们可以按照如下的方式进行添加。
示例:
PS C:\Users\fliu> $hash = @{ "Computer Name" = "ZOL Server";
>> "Administrator" = "Fliu", "fengliu";
>> "OS" = "Windows Server 2008";
>> "Installed Date" = Get-Date;
>> "Disk Size" = 50MB
>> }
>>
PS C:\Users\fliu> $hash
以下为返回结果
Name Value
---- -----
OS Windows Server 2008
Disk Size 52428800
Installed Date 2009/2/2 11:24:41
Computer Name ZOL Server
Administrator {Fliu, fengliu} 这是一个记录服务器信息的哈希表,哈希表的所有信息都已经可以看到。
利用$hash创建哈希表
在创建哈希表的时候,键“administrator”对应的值是一个数组的引用;类似的还有安装日期是命令Get-Date返回的对象。我们不难看出PowerShell中的哈希表可以很方便地存储各式各样的数据信息。但是我们应该如何去访问哈希表中的元素呢?请看如下方法:
PS C:\Users\fliu> $hash.os
Windows Server 2008
PS C:\Users\fliu> $hash.administrator
Fliu
fengliu
PS C:\Users\fliu> $hash."Computer Name"
ZOL Server
返回结果
本文来源:不详 作者:佚名