-包含 VS -in

-contains VS -in

Microsoft 的 documentation 有一些重复的包含运算符,-contains vs -in & -notContains vs -notIn。描述使它们听起来基本上相同,-contains 被描述为 "Returns true when reference value contained in a collection" 而 -in 被描述为 "Returns true when test value contained in a collection"。 "reference value" 和 "test value" 在这种情况下到底有什么区别?

而且,这些选项是否一直可用到 PS 2.0,或者 -in-notIn 是后来引入的?考虑到许多变化,我真的希望 MS 将此信息包含在他们的文档中,而不是仅仅假设每个人都在使用当前版本。但我离题了。 :)

这是为了便于使用,因为 PowerShell 旨在尽可能方便地键入(和阅读)shell。

对于-contains,collection在手边:

(1, 2) -contains 1

相反的情况是 -in 运算符,其中 collection 在 右边 手边:

1 -in (1, 2)

这与否定版本也存在的原因完全相同,仅仅是因为:

1 -notin (1, 2)

比这个更容易打字:

-not (1 -in (1, 2))