首页 > 解决方案 > 从数组中检索项目总是返回 -1

问题描述

我正在尝试根据索引从数组中提取一个值,但由于某种原因我无法让它工作。不断返回-1

$alphabet =  [char[]]([char]'a'..[char]'z')
$AZ = 'A'..'Z

##Option 1
[array]::indexof($AZ, 2)

##Option 2
$AZ.IndexOf( 2 ) 

这两个选项都返回 -1

我应该说我尝试过这篇文章。 https://devblogs.microsoft.com/scripting/find-the-index-number-of-a-value-in-a-powershell-array/

标签: powershell

解决方案


希望这可以帮助您识别问题:

PS /> [char[]]$alphabet = 'a'..'z'
PS /> [array]::IndexOf($alphabet,'f') #=> Returns -1
PS /> [array]::IndexOf($alphabet,[char]'f') #=> Returns 5
PS /> $alphabet.IndexOf('f') #=> Returns -1
PS /> $alphabet.IndexOf([char]'f') #=> Returns 5

PS /> ([char]'f').Equals([string]'f') #=> Returns false, here is your hint

推荐阅读