数组属于引用类型,使用默认的的赋值运算符在两个变量之间赋值只是复制了一个引用,两个变量共享同一份数据。这样的模式有一个弊病如果其中一个改变也会株连到另外一个。所以复制数组最好使用Clone()方法,除非有特殊需求。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
PS C:Powershell> $chs=@("A","B","C") PS C:Powershell> $chsBak=$chs PS C:Powershell> $chsBak[1]="H" PS C:Powershell> $chs A H C PS C:Powershell> $chs.Equals($chsBak) True PS C:Powershell> $chsNew=$chs.Clone() PS C:Powershell> $chsNew[1]="Good" PS C:Powershell> $chs.Equals($chsNew) False PS C:Powershell> $chs A H C |