Fügen Sie Hashes mit doppelten Schlüsseln zu Array hinzu

6263
twinlakes

Ich habe eine Menge Hashes in Powershell mit identischen Schlüsseln. Obwohl das Erstellen eines Arrays von Hashes mit verschiedenen Schlüsseln im Internet unkompliziert und gründlich diskutiert wird, kann ich keine Informationen zum Hinzufügen von Hashes zu einem Array mit doppelten Schlüsseln finden.

Zwei Fehler, die ich beim Versuch erhalten habe:

Item has already been added. Key in dictionary: 'time' Key being added: 'time'

A hash table can only be added to another hash table.

1

1 Antwort auf die Frage

4
beatcracker

Sie können keine doppelten Schlüssel zu Hashtabellen hinzufügen, da Hashtabellen von Entwurf 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 Hashtabellen, aber wenn Sie dem Array die Hashtabelle hinzufügen, müssen die Schlüssel für alle Hashtables im Array eindeutig sein

Das ist seltsam, weil es gut funktionieren sollte. Beispiel:

$ArrayOfHashtables = @, @, @ $ArrayOfHashtables + @ 

Ergebnis:

Name Value ---- ----- Aplha Bravo Charlie Delta Echo Foxtrot Charlie Delta 
Ich bin mir nicht sicher was du meinst. Ich verwende ein Array unabhängiger Hashtabellen, aber wenn Sie dem Array die Hashtabelle hinzufügen, müssen die Schlüssel für alle Hashtables im Array eindeutig sein twinlakes vor 9 Jahren 0
@twinlakes Es sollte gut funktionieren, siehe Update. Können wir Ihren Code sehen? beatcracker vor 9 Jahren 0
Seltsam. Ich vermute, dann könnte es ein Fehler gewesen sein, der durch das automatische Auspacken von Arrays Length = 1 verursacht wurde. Leider habe ich nicht den Originalcode, da meine Situation es mir erlaubte, stattdessen `System.Collections.Queue` zu ​​verwenden. twinlakes vor 9 Jahren 0
Vielen Dank für den Vorschlag. Ich hatte Probleme, Informationen an eine REST-API zu übergeben, für die mehrere Attribute mit den doppelten Schlüsseln erforderlich waren. bbatman vor 8 Jahren 0