检查哈希表是否包含值

ndt*_*ndt 4 powershell hashtable process

我使用 PowerShell 执行 SQL 查询以获取计算机进程 ID 并返回以下哈希表:

$processId
5068
6176
7240
7632
Run Code Online (Sandbox Code Playgroud)

现在,我使用:$processId -contains 5068来检查这个值是否存在$processId

我的预期是true但它返回false

我不知道为什么。欢迎大家解答。

结果 $processId | 获取会员:

box*_*dog 5

在哈希表上,您可以使用该ContainsKey()方法检查现有项目。例如:

$processId.ContainsKey(5068)
Run Code Online (Sandbox Code Playgroud)

  • 因此,“$processId”是一个字符串数组,而不是哈希表。但是,无论它们是字符串还是整数,您最初的测试都应该有效。字符串末尾是否可能包含额外的空格或其他“隐藏”字符?试试这个看看是否有帮助:`$processId.Trim() -contains 5068` (2认同)