Assoziative Arrays in PowerShell
In diesem PowerShell-Tutorial erkläre ich alles über assoziative Arrays in PowerShell. Ich werde anhand von Beispielen erklären, was assoziative Arrays sind und wie man assoziative Arrays in PowerShell verwendet.
Was ist ein assoziatives Array in PowerShell?
In PowerShell ist ein assoziatives Array eine Datenstruktur, die Schlüssel-Wert-Paare speichert. Im Gegensatz zu einem regulären Array, das numerische Indizes verwendet, verwendet ein assoziatives Array eindeutige Schlüssel, um auf gespeicherte Werte zuzugreifen. Dies macht es zu einer idealen Struktur zum Speichern verwandter Informationen, bei der jedes Element schnell abgerufen werden kann, ohne seine Position in der Sammlung zu kennen.
Erstellen Sie assoziative Arrays in PowerShell
Um ein assoziatives Array in PowerShell zu erstellen, verwenden Sie die Syntax @{}. Hier ist ein einfaches Beispiel:
$person = @{
Name = "John Doe"
Age = 30
JobTitle = "Software Developer"
}In diesem Beispiel sind Name, Age und JobTitle die Schlüssel, und jeder Schlüssel ist einem Wert zugeordnet. Sie können es sich als eine kleine Datenbank vorstellen, in der Sie nach Alter suchen können, indem Sie auf John Doe verweisen.
Elemente aus einem assoziativen Array hinzufügen und ändern
Sie können Elemente in einem assoziativen Array hinzufügen oder ändern, indem Sie direkt auf den Schlüssel in PowerShell verweisen:
$person = @{
Name = "John Doe"
Age = 30
JobTitle = "Software Developer"
}
# Adding a new key-value pair
$person['Department'] = 'Engineering'
# Modifying an existing key-value pair
$person['Age'] = 31
Sie können die Ausgabe im Screenshot unten sehen:
Abrufen von Werten aus assoziativen Arrays
Um einen Wert abzurufen, referenzieren Sie das assoziative Array mit dem folgenden Schlüssel:
# Retrieving the value of 'Name'
$personName = $person['Name']Elemente aus dem assoziativen Array entfernen
Um ein Element aus einem assoziativen Array in PowerShell zu entfernen, verwenden Sie die Methode Remove:
# Removing the 'JobTitle' key-value pair
$person.Remove('JobTitle')Iterieren über assoziative Arrays
Sie können mit einer foreach-Schleife über ein assoziatives Array iterieren:
foreach ($key in $person.Keys) {
$value = $person[$key]
Write-Host "$key: $value"
}Suche nach Schlüsseln
Um zu überprüfen, ob ein Schlüssel in der Hash-Tabelle vorhanden ist, verwenden Sie das Schlüsselwort -contains:
if ($person.ContainsKey('Age')) {
Write-Host "Age is in the hash table."
}Arbeiten mit komplexen Strukturen
Assoziative Arrays können auch Arrays oder sogar andere assoziative Arrays als Werte speichern:
$company = @{
Name = 'TechCorp'
Employees = @(
@{
Name = 'John Doe'
Position = 'Developer'
},
@{
Name = 'Jane Smith'
Position = 'Designer'
}
)
}Klonen von Hash-Tabellen
Um eine Kopie einer Hash-Tabelle zu erstellen, verwenden Sie die Methode Clone:
$personCopy = $person.Clone()Splatting mit assoziativen Arrays
Splatting ist eine Funktion in PowerShell, mit der Sie eine Sammlung von Parameterwerten mithilfe eines assoziativen Arrays an einen Befehl übergeben können:
$params = @{
Path = 'C:\Temp'
ItemType = 'Directory'
}
New-Item @paramsKonvertieren in und von JSON
Sie können assoziative Arrays in JSON-Strings konvertieren und umgekehrt:
# Convert to JSON
$jsonString = $person | ConvertTo-Json
# Convert from JSON
$personFromJson = $jsonString | ConvertFrom-JsonAbschluss
In diesem PowerShell-Tutorial habe ich erklärt, wie man mit assoziativen Arrays in PowerShell arbeitet. Außerdem habe ich erklärt, wie man assoziative Arrays in PowerShell erstellt, ändert und verwendet.
- Was ist ein assoziatives Array in PowerShell?
- Erstellen Sie assoziative Arrays in PowerShell
- Elemente aus einem assoziativen Array hinzufügen und ändern
- Abrufen von Werten aus assoziativen Arrays
- Elemente aus dem assoziativen Array entfernen
- Iterieren über assoziative Arrays
- Suche nach Schlüsseln
- Arbeiten mit komplexen Strukturen
- Klonen von Hash-Tabellen
- Splatting mit assoziativen Arrays
- Konvertieren in und von JSON
