When you create an array and populate it in PowerShell the number of elements is written out to the screen, very annoying.
e.g.
function Array-Error()
{
$Array = New-Object System.Collections.ArrayList
$Return = "ReturnValue"
$Array.Add("Value1")
$Array.Add("Value2")
$Array.Add("Value3")
$Array.Add("Value4")
return $return
}
$display = Array-Error
write-host -ForegroundColor Red $display
Output
0 1 2 3 ReturnValue
So how do we stop the numbers from being displayed to the screen, while Fix 2 is the proper way I like fix 1 as it reminds me of passing things over to “/dev/null” when I was a UNIX chap.
function Array-Fix1()
{
$Array = New-Object System.Collections.ArrayList
$Return = "ReturnValue"
$Array.Add("Value1") > $null
$Array.Add("Value2") > $null
$Array.Add("Value3") > $null
$Array.Add("Value4") > $null
return $return
}
$display = Array-Fix1
write-host -ForegroundColor Magenta $display
Output
ReturnValue
or
function Array-Fix2()
{
$Array = New-Object System.Collections.ArrayList
$Return = "ReturnValue"
$Array.Add("Value1") | Out-Null
$Array.Add("Value2") | Out-Null
$Array.Add("Value3") | Out-Null
$Array.Add("Value4") | Out-Null
return $return
}
$display = Array-Fix2
write-host -ForegroundColor Magenta $display
Output
ReturnValue