Я разрабатываю приложение в PowerShell. Я храню переменные в хеш-таблице. Как я могу сохранить порядок в хеш-таблице? Я хочу, чтобы порядок был таким же, как и у меня, когда я заполнил хеш-таблицу.
Хеш-таблицы по своей природе не поддерживают порядок значений. В сети уже есть несколько обходных путей. Проверьте эти
http://www.tellingmachine.com/post/2009/01/When-PowerShell-hash-table-magic-backfires.aspx
http://huddledmasses.org/powershell-and-hashtable-oddities/
Или попробуйте
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
PowerShell v3 будет поддерживать упорядоченные хеш-таблицы с использованием модификатора [order]. Я подозреваю, что под капотом это просто сортировка для использования OrderedDictionary.
Обзор общих функций v3: http://blogs.technet.com/b/windowsserver/archive/2012/05/30/windows-server-2012-powershell-3-0-and-devops-part-2.aspx
Конкретная иллюстрация использования [заказано]: http://arcanecode.com/2012/06/04/powershell-v3-ordered-hashtables/
Hashtables не содержат порядок. Если вы хотите заказать, то вам нужен System.Collections.Specialized.OrderedDictionary.