有序哈希表是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
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!