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