PowerShell中`-Contains`和`-In`有什么区别?

Jac*_*all 10 powershell

除了参数顺序的明显反转之外,-Contains运算符和PowerShell 3.0的新-In运算符之间有什么区别?

bri*_*ist 6

简而言之,您没有描述过没有区别.

不同之处在于左侧与右侧的值:

$arr = @(4,5,6)

$arr -contains 5
5 -in $arr
Run Code Online (Sandbox Code Playgroud)

另一个区别是-inPowerShell 3.0中引入的,因此它不适用于早期版本.

它主要是一种风格的东西; 使用对特定情况感觉更自然的那个.


Avs*_*lom 6

相识又有差别...

-contains 检查数组是否包含值:

$Array -contains $value
Run Code Online (Sandbox Code Playgroud)

-in 检查数组中是否有值:

$value -in $Array
Run Code Online (Sandbox Code Playgroud)

例子:

$Array = 1..5

$Array -Contains 4
True

4 -in $Array
True
Run Code Online (Sandbox Code Playgroud)