2010-11-24 13 views
5

Estoy desarrollando una aplicación en PowerShell. Estoy almacenando variables en una tabla hash. ¿Cómo puedo mantener el orden en la tabla hash? Quiero que la orden sea la misma que cuando llené la tabla hash.tablas hash en powershell

Respuesta

8

Las tablas hash por naturaleza no mantienen el orden de los valores. Ya hay algunas soluciones en la red. Verlas

http://www.tellingmachine.com/post/2009/01/When-PowerShell-hash-table-magic-backfires.aspx

http://huddledmasses.org/powershell-and-hashtable-oddities/

o tratar de

PS C:\WINDOWS\system32> $OrderedList = New-Object System.Collections.Specialized.OrderedDictionary 
PS C:\WINDOWS\system32> $OrderedList 
PS C:\WINDOWS\system32> $OrderedList.Add("Name","Ravi") 
PS C:\WINDOWS\system32> $OrderedList.Add("Age","30") 
PS C:\WINDOWS\system32> $OrderedList 

Name       Value 
----       ----- 
Name       Ravi 
Age       30 
+0

no quiero para ordenar la tabla hash! – RRR

+0

para el momento en que inserte variables en el hash, cambian su lugar. – RRR

+0

Edité mi respuesta para incluir una lista ordenada. Trata eso. – ravikanth

2

Hashtables no tienen fin. Si quiere un pedido, lo que quiere es un System.Collections.Specialized.OrderedDictionary.