Übergeben Sie ein Array an eine Funktion in PowerShell

Migel Hewage Nimesha 21 Juni 2023
  1. PowerShell-Arrays
  2. Übergeben Sie ein Array an eine PowerShell-Funktion
Übergeben Sie ein Array an eine Funktion in PowerShell

Dieser Artikel konzentriert sich auf Arrays und die Konvention, ein Array an eine Funktion in PowerShell zu übergeben.

PowerShell-Arrays

PowerShell-Arrays unterscheiden sich nicht von Arrays in Allzweck-Programmiersprachen wie Java, Python, C# usw. Sie können primitive Werte oder Objekte mit fester Größe eines beliebigen Datentyps enthalten.

Syntax:

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

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

Überprüfen Sie den Typ der Variablen 1

Der Basistyp ist erwartungsgemäß System.Array. Da wir den Datentyp dieses Arrays nicht explizit angegeben haben, hat die PowerShell-Engine es als Array von Objekten erstellt.

Es ist möglich, verschiedene Arten von Elementen in einem einzigen Array zu speichern, wie im folgenden Code gezeigt.

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

Ausgang:

Überprüfen Sie den Typ der Variablen 2

Wie Sie sehen können, basiert das standardmäßige PowerShell-Array auf dem Typ Object[].

In PowerShell wird jeder Wert oder jedes Objekt vom Objekt geerbt. Jeder Wert oder jedes Objekt kann also einem standardmäßigen PowerShell-Array zugewiesen werden.

Es gibt eine andere Variante von PowerShell-Arrays, die als stark typisierte Arrays bezeichnet werden. Arrays, die als stark typisiert erstellt wurden, können nur einen bestimmten Typ von Sammlung von Elementen enthalten.

Wenn wir ein stark typisiertes Array erstellen, ist es notwendig, die Referenzvariable in einen bestimmten Array-Typ wie int32[], string[] usw. umzuwandeln.

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

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

$stringTypeArray.GetType()

Ausgang:

Überprüfen Sie den Typ der Variablen 3

Übergeben Sie ein Array an eine PowerShell-Funktion

Es wird empfohlen, stark typisierte Arrays in Ihren PowerShell-Programmen zu verwenden, da sie über Typsicherheit verfügen. Wann immer Sie ein bereits definiertes Array an eine Funktion übergeben müssen, sollte die folgende Syntax richtig funktionieren.

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

}

Auf diese Weise können Sie ganz einfach ein Array an eine Funktion übergeben. Definieren wir zuerst eine PowerShell-Funktion namens letsPassAnArray.

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

In diesem Fall übergeben wir ein Array vom Typ String und drucken jedes Element innerhalb des Arrays mit dem Operator foreach.

Als Nächstes rufen wir diese Funktion aus dem PowerShell-Skript auf. Stellen Sie sicher, dass Sie auch ein String-Array erstellen.

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

Ausgang:

Übergeben Sie ein Array an eine PowerShell-Funktion

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