PowerShell有序哈希表和更改顺序


有序哈希表是PowerShell 3.0 中新加的,在创建新的对象时,非常有用。跟常规的哈希表不一样,有序哈希表会保持你添加的键值的顺序。因此,在把转换成对象的时候,你也可以控制这些键值对应的属性的顺序。看下面的例子:

$hashtable = [Ordered]@{}
$hashtable.Name = 'PowerShel 中文博客'
$hashtable.Domain = 'www.pstips.net'
$hashtable.HostLocation = 'HongKong'
New-Object -TypeName PSObject -Property $hashtable
Name                                    Domain                                  HostLocation
----                                    ------                                  ------------
PowerShel 中文博客                      www.pstips.net                          HongKong

上面的脚本会创建一个对象,其属性的顺序和哈希表中指定的顺序一样。可能你会想,我有另外一个属性,虽然在后面指定,但我不想它跟在所有的属性后面,比如位于第二个属性。此时可以尝试Inser方法。具体看下面:

$hashtable = [Ordered]@{}
$hashtable.Name = 'PowerShel 中文博客'
$hashtable.Domain = 'www.pstips.net'
$hashtable.HostLocation = 'HongKong'
$hashtable.Insert(1,'Admin','Mosser Lee')
New-Object -TypeName PSObject -Property $hashtable
Name                          Admin                         Domain                        HostLocation
----                          -----                         ------                        ------------
PowerShel 中文博客            Mosser Lee                    www.pstips.net                HongKong

参考链接:Ordered Hash Tables and Changing Order

本文链接: https://www.pstips.net/ordered-hash-tables-and-changing-order.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!

关于 Mooser Lee

我是一个Powershell的爱好者,创建了PowerShell中文博客,热衷于Powershell技术的搜集和分享。本站部分内容来源于互联网,不足之处敬请谅解,并欢迎您批评指正。

发表评论

您的电子邮箱地址不会被公开。 必填项已用 * 标注