检查数字是否属于列表

时间:2016-07-28 07:53:37

标签: powershell

我想验证用户输入的号码是否属于预定义列表,但-contains运算符的行为与我预期的略有不同:

0 -contains 0.
True

使用命令(get-disk).number生成列表。我需要做些什么才能获得输入False的{​​{1}}?

1 个答案:

答案 0 :(得分:2)

首先,您应该使用(get-disk).number包装@()的输出以强制列表为数组。然后,使用强制转换确保其字符串数组。最后,使用字符串传递要检查的数字:

[string[]]$list = @((get-disk).number) # my list contains only 0

$list -contains "0." # False

0.与int 0相等,等于字符串"0",因此您必须将其作为字符串传递。