Element aus einem Array in PowerShell entfernen

Rohan Timalsina 21 Juni 2023
Element aus einem Array in PowerShell entfernen

Ein PowerShell-Array hat eine feste Größe und kann nicht geändert werden. Das bedeutet, dass Sie keine Elemente in einem Array hinzufügen oder entfernen können.

Die beste Alternative ist die Verwendung einer ArrayList anstelle eines Arrays. Eine ArrayList hat nicht die Länge fester Grösse und kann modifiziert werden.

Dieser Artikel lehrt das Erstellen einer ArrayList und das Entfernen von Elementen daraus in PowerShell.

Verwenden Sie die Remove()-Methode, um ein Element aus einer ArrayList in PowerShell zu entfernen

Das folgende Beispiel erstellt eine ArrayList $days mit den Elementen Sonntag, Montag und Dienstag.

[System.Collections.ArrayList]$days = "Sunday", "Monday", "Tuesday"

Mit der Methode Get-Type() können Sie sich den aktuellen Datentyp einer Variablen anzeigen lassen.

$days.GetType()

Ausgang:

IsPublic IsSerial Name                                     BaseType
-------- -------- ----                                     --------
True     True     ArrayList                                System.Object

Die Ausgabe zeigt, dass wir erfolgreich eine ArrayList erstellt haben. Sie können überprüfen, ob es sich um eine feste Größe handelt oder nicht, indem Sie den folgenden Befehl ausführen.

$days.IsFixedSize

Ausgang:

False

Es hat False zurückgegeben, was bedeutet, dass es keine feste Größe hat.

Nun fügen wir ein neues Element, Wednesday, zur ArrayList $days hinzu. Die Methode Add() fügt am Ende der ArrayList ein neues Element hinzu.

$days.Add("Wednesday")

Es druckt die Indexnummer, bei der ein neues Element hinzugefügt wird.

3

Führen Sie Folgendes aus, um das hinzugefügte Element in der ArrayList zu überprüfen.

$days

Ausgang:

Sunday
Monday
Tuesday
Wednesday

Wie Sie sehen können, wurde Wednesday erfolgreich zur ArrayList $days hinzugefügt.

Um ein Element aus der ArrayList zu entfernen, können Sie die Methode Remove() verwenden.

$days.Remove("Monday")
$days

Ausgang:

Sunday
Tuesday
Wednesday

Die Methode Remove() entfernt das erste Vorkommen des angegebenen Elements aus der ArrayList.

Sie können auch ein bestimmtes Element entfernen, indem Sie die Indexnummer verwenden. Die Methode RemoveAt() ermöglicht das Entfernen eines Elements am angegebenen Index aus der ArrayList.

Das folgende Beispiel entfernt das Element mit der Indexnummer 2 aus der ArrayList $days.

$days.RemoveAt(2)
$days

Ausgang:

Sunday
Tuesday

Manchmal müssen Sie möglicherweise mehrere Elemente aus einem bestimmten Bereich entfernen, z. B. 1-10, 5-9, 12-22 usw. In solchen Fällen können Sie die Methode RemoveAt() verwenden, um eine Reihe von Elementen zu entfernen die ArrayList.

Dieser Befehl erstellt eine neue ArrayList $months.

[System.Collections.ArrayList]$months = "Jan", "Feb", "Mar", "Apr", "May", "Jun", "July", "Aug", "Sep", "Oct", "Nov", "Dec"

Das folgende Beispiel entfernt Elemente im Indexnummernbereich 6-11 aus der ArrayList $months.

$months.RemoveRange(6,5)

Überprüfen Sie, ob diese Elemente aus der ArrayList entfernt wurden.

$months

Ausgang:

Jan
Feb
Mar
Apr
May
Jun
Dec

Wenn Sie mit den Parametern verwirrt sind, wird die folgende Syntax verwendet.

RemoveRange(index, count)
  1. index - Anfangsindex des Bereichs der zu entfernenden Elemente.
  2. count - Anzahl der Gegenstände, die aus dem Startbereich entfernt werden sollen.
Rohan Timalsina avatar Rohan Timalsina avatar

Rohan is a learner, problem solver, and web developer. He loves to write and share his understanding.

LinkedIn Website