Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/powershell/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Powershell -包含VS-in_Powershell_Operators - Fatal编程技术网

Powershell -包含VS-in

Powershell -包含VS-in,powershell,operators,Powershell,Operators,微软有一些重复的包含操作符,-containsvs-in和-notContainsvs-notIn。这些描述听起来似乎基本相同,-contains被描述为“当集合中包含参考值时返回真值”,而-in被描述为“当集合中包含测试值时返回真值”。在这种情况下,“参考值”和“测试值”之间到底有什么区别 而且,这些选项是否可以一直追溯到PS 2.0,或者-in和-notIn是后来引入的?考虑到许多变化,我真的希望微软能在他们的文档中包含这些信息,而不仅仅是假设每个人都使用当前版本。但我离题了。:) 这是为了

微软有一些重复的包含操作符,
-contains
vs
-in
-notContains
vs
-notIn
。这些描述听起来似乎基本相同,
-contains
被描述为“当集合中包含参考值时返回真值”,而
-in
被描述为“当集合中包含测试值时返回真值”。在这种情况下,“参考值”和“测试值”之间到底有什么区别


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

这是为了便于使用,因为PowerShell的设计目的是尽可能舒适地在shell中键入(和读取)

对于
-contains
,集合位于左侧

(1, 2) -contains 1
1 -in (1, 2)
相反的情况是
-in
运算符,其中集合位于右侧

(1, 2) -contains 1
1 -in (1, 2)
这与否定版本也存在的原因完全相同,因为:

1 -notin (1, 2)
比这更容易键入:

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

这是为了便于使用,因为PowerShell的设计目的是尽可能舒适地在shell中键入(和读取)

对于
-contains
,集合位于左侧

(1, 2) -contains 1
1 -in (1, 2)
相反的情况是
-in
运算符,其中集合位于右侧

(1, 2) -contains 1
1 -in (1, 2)
这与否定版本也存在的原因完全相同,因为:

1 -notin (1, 2)
比这更容易键入:

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

所有运算符都确定项集合中是否存在单个项。区别在于这些项位于操作符的哪一侧。对于-contains,左侧(LHS)是集合。在-in中,LHS是一个单独的项目,所以基本上只是可读性的改进。在文档中似乎还有一些可以改进的地方。:)谢谢你的澄清!我试着在一个旧的Win7/PS2.0虚拟机上测试这个,但出现了错误,所以似乎-in&-notIn后来也添加了。也很好地了解。典型的情况是一个变量包含一些值,并使用表达式创建比较值。该变量通常位于LHS上。我认为这可能只是惯例/可读性。如果您运行,
获取有关\u比较\u运算符的帮助
,您可以查看当前版本中的可用内容。PowerShell v3中添加了
-in
-notin
变体。你可以在这里看到很多有趣的事情。当我搜索时,我没有得到那个链接,我得到了一个有用信息少得多的链接。好的书签!所有运算符都确定项集合中是否存在单个项。区别在于这些项位于操作符的哪一侧。对于-contains,左侧(LHS)是集合。在-in中,LHS是一个单独的项目,所以基本上只是可读性的改进。在文档中似乎还有一些可以改进的地方。:)谢谢你的澄清!我试着在一个旧的Win7/PS2.0虚拟机上测试这个,但出现了错误,所以似乎-in&-notIn后来也添加了。也很好地了解。典型的情况是一个变量包含一些值,并使用表达式创建比较值。该变量通常位于LHS上。我认为这可能只是惯例/可读性。如果您运行,
获取有关\u比较\u运算符的帮助
,您可以查看当前版本中的可用内容。PowerShell v3中添加了
-in
-notin
变体。你可以在这里看到很多有趣的事情。当我搜索时,我没有得到那个链接,我得到了一个有用信息少得多的链接。好的书签!