考虑以下情况:
这是一个数组,只包含一个项目。该项目是另一个数组(我称其为列表对象)。
我想要获取数组中唯一的列表对象。
我使用foreach来获取列表,但它将列表对象视为数组并返回列表对象的第一个项目。
我使用foreach来获取列表,但它将列表对象视为数组并返回列表对象的第一个项目。
$OSName1 = @(
@("win2008r2")
)
$OSName2 = @(
@("win2008r2"),
@("win2012")
)
foreach ($osname in $OSName1) {
write-host $osname[0]
}
foreach ($osname in $OSName2) {
write-host $osname[0]
}
我希望输出的结果是: win2008r2 win2008r2 win2012
但实际结果为: w win2008r2 win2012 为什么powershell自动将内部数组扩展到其父级?
$osname[0]
是第一个字符(w)。 - Nick.McDermaid