我想验证用户输入的号码是否属于预定义列表,但-contains
运算符的行为与我预期的略有不同:
0 -contains 0.
True
使用命令(get-disk).number
生成列表。我需要做些什么才能获得输入False
的{{1}}?
答案 0 :(得分:2)
首先,您应该使用(get-disk).number
包装@()
的输出以强制列表为数组。然后,使用强制转换确保其字符串数组。最后,使用字符串传递要检查的数字:
[string[]]$list = @((get-disk).number) # my list contains only 0
$list -contains "0." # False
双0.
与int 0
相等,等于字符串"0"
,因此您必须将其作为字符串传递。