There is a shorthand syntax that can be applied to arrays to apply filtering. Consider the following syntactically correct Powershell:
1,2,3,4,5 | ?{ $_ -gt 2 } # => 3,4,5
You can write the same thing in a much simpler fashion as follows:
1,2,3,4,5 -gt 2 => 3,4,5
In the second example, Powershell is applying the expression -gt 2
to the elements of array and returning the matching items.
Null Coalesce
Unfortnately, Powershell lacks a true null coalesce operator. Fortunately, we can simulate that behavior using array comparisons.
($null, $null, 5,6, $null, 7).Length # => 6
($null, $null, 5,6, $null, 7 -ne $null).Length # => 3
($null, $null, 5,6, $null, 7 -ne $null)[0] # => 5