复制数组

数组属于引用类型,使用默认的的赋值运算符在两个变量之间赋值只是复制了一个引用,两个变量共享同一份数据。这样的模式有一个弊病如果其中一个改变也会株连到另外一个。所以复制数组最好使用Clone()方法,除非有特殊需求。

  1. PS C:Powershell> $chs=@("A","B","C")
  2. PS C:Powershell> $chsBak=$chs
  3. PS C:Powershell> $chsBak[1]="H"
  4. PS C:Powershell> $chs
  5. A
  6. H
  7. C
  8. PS C:Powershell> $chs.Equals($chsBak)
  9. True
  10. PS C:Powershell> $chsNew=$chs.Clone()
  11. PS C:Powershell> $chsNew[1]="Good"
  12. PS C:Powershell> $chs.Equals($chsNew)
  13. False
  14. PS C:Powershell> $chs
  15. A
  16. H
  17. C