You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在PowerShell中克隆HashSet实现深度复制?

PowerShell中克隆HashSet的方法

不需要手动循环,HashSet虽然没有.Clone()方法,但可以通过以下简洁方式实现克隆(仅复制元素数值):

  • 利用HashSet的构造函数
    HashSet提供了接受IEnumerable<T>参数的构造函数,直接传入原HashSet就能创建包含相同元素的新实例,两者互相独立,修改其中一个不会影响另一个。

    示例代码:

    # 创建原HashSet实例
    $originalHashSet = [System.Collections.Generic.HashSet[int]]@(10, 20, 30, 40)
    # 克隆得到新的HashSet
    $clonedHashSet = [System.Collections.Generic.HashSet[int]]::new($originalHashSet)
    

    验证独立性:

    $clonedHashSet.Remove(20)
    Write-Host "原集合元素:$originalHashSet"  # 输出:原集合元素:10 20 30 40
    Write-Host "克隆集合元素:$clonedHashSet" # 输出:克隆集合元素:10 30 40
    

    如果你的HashSet存储的是值类型(如int、string等),这种方式完全满足你的需求;如果是引用类型,元素本身还是引用关系,但你明确表示只需复制数值,所以这种方式足够。

内容的提问来源于stack exchange,提问作者SendETHToThisAddress

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 15:02:38