Wie man ein Array an eine Funktion in PowerShell übergibt

  1. PowerShell-Arrays
  2. Ein Array an eine PowerShell-Funktion übergeben
  3. Fazit
Wie man ein Array an eine Funktion in PowerShell übergibt

In vielen Programmiersprachen, einschließlich PowerShell, sind Arrays eine grundlegende Datenstruktur. Sie ermöglichen es Ihnen, Sammlungen von Werten effizient zu speichern, was sie zu einem entscheidenden Werkzeug für verschiedene Aufgaben in PowerShell-Skripten macht.

Dieser Artikel wird sich auf Arrays und die Konvention des Übergangs eines Arrays an eine Funktion in PowerShell konzentrieren.

PowerShell-Arrays

PowerShell-Arrays unterscheiden sich nicht von den Arrays in allgemeinen Programmiersprachen wie Java, Python, C# usw. Sie bieten die Möglichkeit, Sammlungen fester Größe von Werten oder Objekten eines beliebigen Datentyps zu halten.

Syntax:

$intTypeArray = 34, 100, 1000, 45, 455, 1

Um den Typ der Variablen $intTypeArray im folgenden Beispiel zu überprüfen, verwenden wir die integrierte Methode GetType().

Überprüfen Sie den Typ der Variable 1

Wie erwartet ist der Basistyp System.Array. Da wir den Datentyp dieses Arrays nicht ausdrücklich angegeben haben, hat die PowerShell-Engine es als ein Array von Objekten erstellt.

Interessanterweise können PowerShell-Arrays unterschiedliche Typen von Elementen innerhalb eines einzelnen Arrays aufnehmen, wie im folgenden Codeschnipsel veranschaulicht.

Code:

$mixedElementArray = 200, 'stringElement', 12.555, 'hello'

Ausgabe:

überprüfen Sie den Typ der Variable 2

Wie Sie sehen können, basiert das Standard-PowerShell-Array auf dem Typ Object[].

In PowerShell erbt jeder Wert oder jedes Objekt von Object. Daher ist jeder Wert oder jedes Objekt einem Standard-PowerShell-Array zuweisbar.

Zusätzlich zu den Standard-Arrays bietet PowerShell eine Variante, die als stark typisierte Arrays bekannt ist. Diese Arrays enthalten ausschließlich Sammlungen eines bestimmten Datentyps.

Wenn wir ein stark typisiertes Array erstellen, muss die Referenzvariable in einen spezifischen Array-Typ wie int32[], string[] usw. umgewandelt werden.

[string[]]$stringTypeArray = 'tesla', 'mecedes', 'audi', 'lambo'

Lassen Sie uns den Typ von $stringTypeArray überprüfen.

$stringTypeArray.GetType()

Ausgabe:

Überprüfen Sie den Typ der Variablen 3

Ein Array an eine PowerShell-Funktion übergeben

In PowerShell wird empfohlen, stark typisierte Arrays in Ihren PowerShell-Programmen zu verwenden, da sie Typsicherheit bieten. Immer wenn Sie ein bereits definiertes Array an eine Funktion übergeben müssen, sollte die folgende Syntax korrekt funktionieren.

Syntax:

function <function_identifier>([<data_type>[]]$<parameter_name>)
{

}

In dieser Syntax:

  • function: Bezeichnet das Schlüsselwort, das verwendet wird, um die Definition einer Funktion in PowerShell zu initiieren.
  • <function_name>: Repräsentiert den Namen der Funktion.
  • [<data_type>[]]: Gibt den Datentyp des Parameters an, sodass Sie innerhalb der Funktion mit Arrays des angegebenen Datentyps arbeiten können.
  • $<parameter_name>: Dient als der Name des Parameters innerhalb der Funktion.

Auf diese Weise können Sie leicht ein Array an eine Funktion übergeben. Um dies zu veranschaulichen, definieren wir zuerst eine PowerShell-Funktion namens letsPassAnArray.

Code:

function letsPassAnArray([string[]]$stringList) {
    foreach ($arrEle in $stringList) {
        Write-Host $arrEle
    }
}

In diesem Beispiel definieren wir eine PowerShell-Funktion namens letsPassAnArray mit einem Parameter namens $stringList. Dann starten wir eine foreach-Schleife, um durch jedes Element ($arrEle) im $stringList-Array zu iterieren.

Innerhalb der Schleife schreiben wir jedes Array-Element in die Konsole. Um die Funktion zu testen, erstellen wir ein string-typisiertes Array namens $stringArr mit den Elementen 'Apple', 'Orange' und 'Grapes'.

Code:

[string[]]$stringArr = 'Apple', 'Orange', 'Grapes'
letsPassAnArray($stringArr)

Schließlich rufen wir die Funktion letsPassAnArray auf und übergeben das $stringArr-Array als Argument, wodurch die Funktion durch jedes Element des Arrays iteriert und es ausgibt.

Ausgabe:

Einen Array an eine PowerShell-Funktion übergeben

Fazit

In PowerShell ist es entscheidend, Arrays zu verstehen und wie man sie an Funktionen übergibt, um effizientes und organisiertes Skripting zu ermöglichen. Egal, ob Sie mit generischen Arrays arbeiten, die verschiedene Datentypen halten können, oder mit stark typisierten Arrays für Typsicherheit, das Beherrschen der Array-Manipulation wird Sie befähigen, effektivere PowerShell-Skripte zu schreiben.

Genießen Sie unsere Tutorials? Abonnieren Sie DelftStack auf YouTube, um uns bei der Erstellung weiterer hochwertiger Videoanleitungen zu unterstützen. Abonnieren
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Verwandter Artikel - PowerShell Array