Powershell - Hashtabellen
Hashtable speichert Schlüssel / Wert-Paare in einer Hash-Tabelle. Wenn Sie eine Hashtabelle verwenden, geben Sie ein Objekt an, das als Schlüssel verwendet wird, und den Wert, den Sie mit diesem Schlüssel verknüpfen möchten. Im Allgemeinen haben wir String oder Zahlen als Schlüssel verwendet.
In diesem Lernprogramm wird erläutert, wie Sie Hashtabellenvariablen deklarieren, Hashtabellen erstellen und Hashtabellen mithilfe ihrer Methoden verarbeiten.
Hashtable-Variablen deklarieren
Um eine Hashtabelle in einem Programm zu verwenden, müssen Sie eine Variable deklarieren, die auf die Hashtabelle verweist. Hier ist die Syntax zum Deklarieren einer Hashtable-Variablen:
Syntax
$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
or
$hash = @{}
Note- Geordnete Wörterbücher können mit ähnlicher Syntax erstellt werden. Geordnete Wörterbücher behalten die Reihenfolge bei, in der Einträge hinzugefügt werden, Hashtabellen jedoch nicht.
Beispiel
Die folgenden Codefragmente sind Beispiele für diese Syntax:
$hash = [ordered]@{ ID = 1; Shape = "Square"; Color = "Blue"}
Drucken Sie die Hashtabelle.
$hash
Ausgabe
Name Value
---- -----
ID 1
Color Blue
Shape Square
Auf die Hashtabellenwerte wird über die zugegriffen keys.
> $hash["ID"]
1
Hashtable verarbeiten
Die Punktnotation kann verwendet werden, um auf Hashtabellenschlüssel oder -werte zuzugreifen.
> $hash.keys
ID
Color
Shape
> $hash.values
1
Blue
Square
Beispiel
Hier ist ein vollständiges Beispiel, das zeigt, wie Hashtabellen erstellt, initialisiert und verarbeitet werden.
$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
write-host("Print all hashtable keys")
$hash.keys
write-host("Print all hashtable values")
$hash.values
write-host("Get ID")
$hash["ID"]
write-host("Get Shape")
$hash.Number
write-host("print Size")
$hash.Count
write-host("Add key-value")
$hash["Updated"] = "Now"
write-host("Add key-value")
$hash.Add("Created","Now")
write-host("print Size")
$hash.Count
write-host("Remove key-value")
$hash.Remove("Updated")
write-host("print Size")
$hash.Count
write-host("sort by key")
$hash.GetEnumerator() | Sort-Object -Property key
Dies führt zu folgendem Ergebnis:
Ausgabe
Print all hashtable keys
ID
Color
Shape
Print all hashtable values
1
Blue
Square
Get ID
1
Get Shape
print Size
3
Add key-value
Add key-value
print Size
5
Remove key-value
print Size
4
sort by key
Name Value
---- -----
Color Blue
Created Now
ID 1
Shape
Square