Ich verwende Powershell 2.0. Wenn ich eine neue Variable als ein Array mache und dann eine andere Variable gleich der ersten setze, "spiegelt" die zweite Variable die erste Variable. Nach dem Ändern eines Objekts im ursprünglichen Array wird die genau gleiche Änderung im zweiten Array angezeigt. Zum BeispielWarum spiegeln sich einige Arrays in Powershell gegenseitig?
$array0001=6,7,3,4,0
$array0002=$array0001
$array0001[3]=55
$array0002
mit dem auszugebende
6
7
3
55
0
ich feststellen, dass, wenn man die zweite Variable den gleichen Wert wie die erste Variable haben, außer dieser Zeit innerhalb eines subexpression Bediener eingeschlossen, Modifikationen auf das erste Array haben keinen Einfluss auf das zweite Array. Zum Beispiel
$array0001=6,7,3,4,0
$array0002=$($array0001)
$array0001[3]=55
$array0002
mit dem Ausgang das Verhalten der Variablen in einer subexpression Operator Änderung
seine6
7
3
4
0
Warum den Wert nicht umschließt? Gibt es einen anderen oder besseren Weg, Array-Variablen zu vermeiden, die sich gegenseitig "spiegeln"?
ETA: Ich habe jetzt gefunden, dass [email protected]($array0001)
und $array0002=&{$array0001}
beide genau das gleiche Ziel erreichen.