2015-08-06 1 views

Répondre

5

En bref, il n'y a pas de différence que vous n'avez pas déjà décrite.

La différence est que la valeur est à gauche par rapport à la droite:

$arr = @(4,5,6) 

$arr -contains 5 
5 -in $arr 

L'autre différence est que -in a été introduit dans PowerShell 3.0, donc il ne fonctionnera pas sur les versions antérieures.

C'est surtout un truc de style; utiliser celui qui se sent plus naturel pour une situation spécifique.

+0

Le "TMTOWTDI" d'erl de tout cœur, je suppose. –

+0

@briantist Je sais que '-contains' ne fonctionne pas avec la notation générique. Basé sur votre poste «-in» non plus? – Speerian

+1

@Speerian si vous voulez utiliser la syntaxe '-like' dans une chaîne comme '' apple '', 'grapple', 'bot' - contient '* pple'', alors c'est correct; cela ne fonctionne pas avec '-in' non plus. – briantist

1

Deux façons opposées qui fait la même chose.

Pour vérifier si la valeur existe dans Array, ou si le tableau est Contenir une valeur

Le contient opérateur:

$Array -contains $value 

L'opérateur in:

$value -in $Array 

Exemple

PowerShell adopte la norme P
$Array = 1,2,3,4,5 

$Array -Contains 4 
True 

4 -in $Array 
True