Website-Suche

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 @params

Konvertieren 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-Json

Abschluss

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

Verwandte Artikel