我需要将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?
最佳答案
一种方法,使用CopyTo
:
$array = New-Object int[] $hashset.Count
$hashset.CopyTo($array)
$arraylist = [System.Collections.ArrayList]$array
另一种方法(对于较大的哈希集,较短,但较慢):
$arraylist = [System.Collections.ArrayList]@($hashset)
另外,我强烈建议推荐使用
List
而不是ArrayList
,因为自引入泛型以来它几乎是deprecated:$list = [System.Collections.Generic.List[int]]$hashset