【发布时间】:2019-03-28 11:01:44
【问题描述】:
我需要将 HashSet 转换为 ArrayList?
$hashset = New-Object System.Collections.Generic.HashSet[int]
$hashset.Add(1)
$hashset.Add(2)
$hashset.Add(3)
$arraylist = New-Object System.Collections.ArrayList
# Now what?
【问题讨论】:
-
你试过 [array]$arraylist = $hashset 吗?这之后的两个变量仍然通过管道传递到具有相同输出的“get-member”。您创建数组与“哈希集”的目标是什么
-
@RobertCotterman 我需要一个 ArrayList。数组是固定大小的,没有
Sort()。 -
Daniel,Powershell 中的数组可以使用 Sort-Object 进行排序,您可以向其中添加项目(它将创建一个新数组来执行此操作,但从语言的角度来看,这并不重要类型是 -- 当然,除非你完全编辑了 ArrayList 以传递给需要它的方法。但我希望这样的 API 现在早就死了。)
-
@Joey 我通常更喜欢使用 ArrayList 或 List,因为 PowerShell 处理数组的方式,尤其是在添加新项目时,太慢了。
-
@Joey 列表可能会变得很大,我不想每次添加一个项目时都复制大列表。除此之外,我还需要
GetRange(),Sort-Object返回的数组也不支持它。
标签: arrays list powershell arraylist