【发布时间】:2021-04-26 20:49:51
【问题描述】:
观察这个例子:
PS C:\> $list=("A","B")
PS C:\> $list.GetType().Name
Object[]
PS C:\> ($list | ? {$_ -ne "C"}).GetType().Name
Object[]
PS C:\> ($list | ? {$_ -ne "B"}).GetType().Name
String
为什么当只剩下一个元素时,Powershell 将我的数组转换为字符串?它破坏了我脚本中变量的进一步处理,我假设输出是一个数组。如何预防?
【问题讨论】:
-
强制它是一个带有
@(..)的数组 -
我将第 1 行更改为
$list=@("A","B"),但这并没有帮助。 -
啊,
@($list | ? {$_ -ne "B"}).GetType().Name有效。把它写成答案,我会接受它
标签: powershell