我在将现有的vbs脚本转换为PowerShell脚本时遇到了一些问题。我在这里用一些虚拟代码而不是我原来的代码来说明。在示例1中,我只有一组元素在数组中,在将数组变量返回给函数时,它将只显示P.从函数返回多维数组
但是在示例2中,在数组中有两组元素的情况下,在将数组变量返回给函数时,它将正确显示元素。
如果您在示例1和2中的函数中打印数组。获取结果没有任何问题。
我已经使用Google并且无法找到任何解决方案。非常感谢您的帮助。
实施例1:
function testArray {
$array1 = @()
$array1 += ,@("Apple","Banana")
return $array1
}
$array2 = testArray
Write-Host $array2[0][1]
结果为 “P”。
实施例2:
function testArray {
$array1 = @()
$array1 += ,@("Apple","Banana")
$array1 += ,@("Orange","Pineapple")
return $array1
}
$array2 = testArray
Write-Host $array2[0][0]
结果为 “苹果”。
'返回$ array1' - >'回报,$ array1'或'$数组2 = testArray' - >'$数组2 = @(testArray)' – PetSerAl
@petseral它的工作原理,或者它只是PowerShell的语法? –
PowerShell展开函数返回的数组。通过将数组构造运算符(',')前置到返回数组中,将其包装在另一个数组中,该数组在返回时展开,从而使嵌套数组保持原样。 –