【发布时间】:2022-06-15 22:00:19
【问题描述】:
下面的例子
Function Get-ListOfList
{
$listOfLists = New-Object System.Collections.ArrayList
$List = New-Object System.Collections.ArrayList
$List.Add("A") | Out-Null
$List.Add("B") | Out-Null
$listOfLists.Add($List) | Out-Null
return $listOfLists
}
我希望这会返回一个列表,其中包含 1 个项目,一个列表。该列表中有 2 个字符串。
但发生的事情是它返回一个列表,其中包含 2 个项目。
$l = Get-ListOfList
$l.Count
$l.GetType().Name
$l[0].Count
$l[0].GetType().Name
$l[1].Count
$l[1].GetType().Name
输出
2
ArrayList
1
String
1
String
这是搞砸了,因为当列表中包含超过 1 个项目时,行为会有所不同,它会返回您所期望的。
【问题讨论】:
-
是的,这是意料之中的,powershell 正在枚举您的输出。使用
, $listOfLists
标签: powershell