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脚本中的-contains与.contains有什么区别?_Powershell - Fatal编程技术网

powershell脚本中的-contains与.contains有什么区别?

powershell脚本中的-contains与.contains有什么区别?,powershell,Powershell,.contains和-contains之间有什么区别?一个似乎区分大小写,而另一个则不区分大小写 PS C:\WINDOWS\system32> ("jack", "john", "jill").contains("Jill") False PS C:\WINDOWS\system32> "jack", "john", "jill" -contains "Jill" True 为什么会有这样的差异?操作符将一个对象与一个集合进行比较。如果整个值作为项存在于集合中,则返回true

.contains和-contains之间有什么区别?一个似乎区分大小写,而另一个则不区分大小写

PS C:\WINDOWS\system32> ("jack", "john", "jill").contains("Jill")
False


PS C:\WINDOWS\system32> "jack", "john", "jill" -contains "Jill"
True

为什么会有这样的差异?

操作符将一个对象与一个集合进行比较。如果整个值作为项存在于集合中,则返回true。它不区分大小写,并且不限于字符串
-CContains
是区分大小写的版本。
.Contains()
方法是String类中的.NET方法。它将子字符串与字符串进行比较(默认情况下区分大小写)

如果将数组转换为字符串,则可以操纵第一个示例以获得所需的结果,因为
jill
将是较大字符串中的子字符串

("jack","jill","john" -join ",").Contains("jill")
True
有关使用
-Contains
的详细信息和示例,请参阅。
有关
.Contains
方法的说明,请参阅。

两者在实际应用中有很大不同

$str = "abcde"

$str -contains "abcd" 
False

$str.Contains("abcd") 
True
为什么会有这种差异?

因为

-Contains是MS.Tells规定的安全壳操作员 是否收集参考资料 值包括单个测试值。始终返回布尔值。返回TRUE 仅当测试值与至少一个参考值完全匹配时。它必须是包含的元素之一 数组中不是字符串元素的子字符串

Contains()方法是支持 子字符串,这就是为什么您在运行时会得到正确的结果
$str.Contains(“abcd”)


希望能有所帮助。

您好,我假设将直接在给定对象上调用
.contains
,但是
-contains
将在powershell中运行一些全局函数-可能在同一位置实现,在该位置最后调用上一个。
-contains
操作符将一个对象与一个集合进行比较。如果整个值作为项存在于集合中,则返回true。它不区分大小写,并且不限于字符串
-CContains
是区分大小写的版本。
.Contains()
方法是String类中的.NET方法。它将子字符串与字符串进行比较(默认情况下区分大小写)。@AdminOfThings谢谢。你能补充一个答案让我接受吗?你介意添加一些方法文档的链接吗?如果你知道去哪里看,你能给文档页面添加一些参考吗?我试着用谷歌搜索它,但没能找到权威的地方@AdminOfThings@CEGRD我添加了它们。