Hier ist das Code-Snippet Ich versuche, das mögliche Problem ist das Array, das außerhalb der Funktion deklariert wird, kann nicht in der testobjarray()
Funktion verwendet werden. In der Funktion testobjarray()
wird die Zählung als Null angezeigt, aber in addobjects()
kann ich das Objekt zum Array hinzufügen und den Inhalt des Objekts anzeigen.Funktion füllt globale Variable nicht
$Global:objectorray = @()
function addobjects() {
$object = New-Object PSObject
$object | Add-Member -MemberType NoteProperty -Name "Name" -Value "Pradeep RN"
$object | Add-Member -MemberType NoteProperty -Name "Age" -Value 24
$object | Add-Member -MemberType NoteProperty -Name "Profession" -Value "Software Engineer"
$objectorray += $object
Write-Host "in addobjects function" $objectorray
}
function testobjarray() {
Write-Host "in the another function" $objectorray.Count
}
addobjects
testobjarray
Alle Informationen, die Sie benötigen, um das herauszufinden, finden Sie in ['Get-Help about_Scopes'] (https://msdn.microsoft.com/en-us/powershell/reference/5.1/microsoft.powershell. core/about/about_scopes). –
Beachten Sie, dass das Ändern globaler Variablen in einer Funktion nicht empfehlenswert ist, da dies die Problembehandlung erschwert. Es ist besser, wenn die Funktion das Objekt zurückgibt und die Append-Operation im Aufruferbereich ausführt. –