【发布时间】:2020-04-09 10:29:17
【问题描述】:
我正在创建多维数组
cls
$b=[Collections.ArrayList]::new()
$a=4,5,6
[void]$b.Add($a)
$a1=7,8,9
[void]$b.Add($a1)
"Value is: "+$b[0][1]+" ."
"Size is: "+$b.Count+" ."
""###
function arr(){
$b=[Collections.ArrayList]::new()
$a=4,5,6
[void]$b.Add($a)
$a1=7,8,9
[void]$b.Add($a1)
return $b
}
$c=arr
"Value is: "+$c[0][1]+" ."
"Size is: "+$c.Count+" ."
输出:
Value is: 5 .
Size is: 2 .
Value is: 5 .
Size is: 2 .
现在一切都正确了。函数返回原始状态的数组,没有任何变形。 但我无法事先知道数组大小,当数组大小为 1 时,我会遇到下一个问题:
cls
$b=[Collections.ArrayList]::new()
$a=4,5,6
[void]$b.Add($a)
"Value is: "+$b[0][1]+" ."
"Size is: "+$b.Count+" ."
""###
function arr(){
$b=[Collections.ArrayList]::new()
$a=4,5,6
[void]$b.Add($a)
return $b
}
$c=arr
"Value is: "+$c[0][1]+" ."
"Size is: "+$c.Count+" ."
输出:
Value is: 5 .
Size is: 1 .
Value is: .
Size is: 3 .
当数组从函数中移出时,他从多维转变为一维,输出中没有我的值。我怎样才能避免这个错误?
【问题讨论】:
-
这能回答你的问题吗? Force Powershell function to return Array
标签: powershell