I'm trying to figure out how I can pass multiple strings as an array to a powershell function.
function ArrayCount([string[]] $args) {
Write-Host $args.Count
}
ArrayCount "1" "2" "3"
ArrayCount "1","2","3"
ArrayCount @("1","2","3")
Prints
2
0
0
How can I pass an array with 3 values to the ArrayCount
function?
Why is the Count zero for some of the invocations?
In PowerShell, $args is a automatic variable that refers to unnamed arguments. Just change your parameter name:
function ArrayCount([string[]] $myParam) {
Write-Host $myParam.Count
}
And you will get the expected output:
1
3
3