marabunta
Goto Top

Powershell Hashtable

 
#---------- Hashtables Key = > Wert Paare
$ht = @{Key1="Wert";Key2="Wert2"}  

# gibt den wert von 'Key1' aus 
$ht.Key1

# Einen Wert zur Hashtable hinzufügen:
$ht.NeuerKey = "Neuer Wert"  
$ht

 
$ht

Name      Value
------    ------
Key2       Wert2
NeuerKey   Neuer Wert
Key1        Wert


Warum steht Neuer Wert an zweiter und nicht an dritter Stelle?
Ich wollte mir auch die Inhalte wie ein Array ausgeben lassen: $ht und $ht probiert, kommt aber nix bei raus...

Das mit der Ausgabe bekomme ich vermutlich gleich selbst noch raus.

Content-Key: 257922

Url: https://administrator.de/contentid/257922

Ausgedruckt am: 29.03.2024 um 06:03 Uhr

Mitglied: colinardo
Lösung colinardo 17.12.2014 aktualisiert um 17:09:54 Uhr
Goto Top
Halloo Marabunta,
Warum steht Neuer Wert an zweiter und nicht an dritter Stelle?
Das ist bei einer Hashtable unrelevant, da hier sowieso immer nach Keys abgefragt wird und nicht nach der Position!
Benötigst du eine Sortierung pipe das ganze an das Sort-Object
$ht.GetEnumerator() | sort Name
oder nutze eine der weiteren NET-Listobjekte wie eine SortedList:
Powershell Arrays deklarieren füllen abfragen ???

Ich wollte mir auch die Inhalte wie ein Array ausgeben lassen: $ht und $ht probiert, kommt aber nix bei raus...
Das habe ich dir hier schon gezeigt:
Powershell new variable foreach section in ini-File
$ht.GetEnumerator() | select -Index 1
Eine Hashtable ist kein Array sondern ein Dictionary-Objekt, über welches sich erst mit GetEnumerator() iterieren lässt.

Grüße Uwe
Mitglied: Marabunta
Marabunta 17.12.2014 um 17:07:47 Uhr
Goto Top
Danke. Ich war kurz vor feierabend und habe es ad hoc nicht mehr gewusst.
Zumindest habe ich etwas luft gewonnen um mich jetzt intensiv mit hashtables zu beschäftigen