Ich habe in Powershell eine Reihe von Hashes mit identischen Schlüsseln. Obwohl das Erstellen eines Arrays von Hashes mit unterschiedlichen Schlüsseln unkompliziert ist und im Internet ausführlich erläutert wird, kann ich keine Informationen zum Hinzufügen von Hashes zu einem Array mit doppelten Schlüsseln finden.
Bei diesem Versuch sind mir zwei Fehlermeldungen aufgetreten:
Item has already been added. Key in dictionary: 'time' Key being added: 'time'
A hash table can only be added to another hash table.
Antwort1
Sie können Hashtabellen keine doppelten Schlüssel hinzufügen, da Hashtabellen konstruktionsbedingt nur eindeutige Schlüssel enthalten können. Wenn Sie doppelte Schlüssel/Wert-Paare speichern müssen, verwenden Sie Arrays.
Ich verwende ein Array unabhängiger Hash-Tabellen, aber wenn Sie die Hash-Tabelle zum Array hinzufügen, müssen die Schlüssel für alle Hash-Tabellen im Array eindeutig sein.
Das ist seltsam, denn es sollte einwandfrei funktionieren. Beispiel:
$ArrayOfHashtables = @{Aplha = 'Bravo'}, @{Charlie = 'Delta'}, @{Echo = 'Foxtrot'}
$ArrayOfHashtables + @{Charlie = 'Delta'}
Ergebnis:
Name Value
---- -----
Aplha Bravo
Charlie Delta
Echo Foxtrot
Charlie Delta