2015-08-06 11 views

Antwort

5

Kurz gesagt gibt es keinen Unterschied, den Sie nicht bereits beschrieben haben.

Der Unterschied ist, welcher Wert auf der linken Seite gegen die rechte Seite ist:

$arr = @(4,5,6) 

$arr -contains 5 
5 -in $arr 

Der andere Unterschied ist, dass -in in Powershell eingeführt wurde, 3,0, so wird es nicht auf früheren Versionen arbeiten.

Es ist meistens eine Stilsache; nutze diejenige, die sich für eine bestimmte Situation natürlicher fühlt.

+0

PowerShell übernimmt P Erls "TMTOWTDI" von ganzem Herzen, denke ich. –

+0

@briantist Ich weiß, dass '-contains' nicht mit Platzhalter-Notation funktioniert. Basiert von deinem Beitrag "-in" auch nicht? – Speerian

+1

@Speerian wenn Sie '' like''-Syntax in einer Zeichenfolge wie ''apple', 'grapple', 'bot' -contains '* pple' bedeuten, dann ist das korrekt; es funktioniert auch nicht mit "-in". – briantist

1

Zwei entgegengesetzte Wege, die das gleiche tun.

Um zu überprüfen, ob Wert in Array vorhanden ist, oder wenn das Array

Der enthält Operator einen gewissen Wert enthalten:

$Array -contains $value 

Der in Operator:

$value -in $Array 

Beispiel

$Array = 1,2,3,4,5 

$Array -Contains 4 
True 

4 -in $Array 
True 
Verwandte Themen