2017-08-08 1 views
1

Ich erstelle eine Powershell-Skript zum ersten Mal und irgendwie funktionieren die array.Count oder Array.Length beide nicht.Warum ist nicht meine array.Count funktioniert

Was bin ich falsch hier tun:

$array = @(
    "item1", 
    "item2" 
); 

if($array.Count > 0) { 
    Write-Host "true"; 
} 

if($array.Length > 0) { 
    Write-Host "true"; 
} 

Antwort

2

lesen about_Comparison_Operators; -gt sollte verwendet werden, nicht >

Beachten Sie, dass Count ein Alias ​​von Length ist. So wird das gleiche Ergebnis ergeben. Sie können dies sehen, indem Sie $array | Get-Member ausführen.

$array = @(
    "item1", 
    "item2" 
); 

if($array.Count -gt 0) { 
    Write-Host "true"; 
} 

if($array.Length -gt 0) { 
    Write-Host "true"; 
} 
+0

Vielen Dank! powershell ist eine seltsame Sprache, wenn man das mit anderen Sprachen vergleicht xD – StuiterSlurf

+0

Vergleiche mit perl/csh/tcl und es wird nicht sonderlich seltsam aussehen ;-) –

+1

Aber warum gibt es keine Art von Fehler? Ich kann den Powershell-Operator nicht finden. Ist dieser Code nicht ungültig? – StuiterSlurf