我正在尝试创建现有数组的完整副本.每次我尝试这个似乎都不起作用.问题是我正在修改新复制数组中的Object名称,但它们也在原始数组中进行了更改.
下面的代码是高度简化的,因为有更多的事情发生,然后只重命名对象名称,但它证明了我认为的重点.
一些示例代码:
Function Get-Fruits {
Param (
$Fruits = @('Banana', 'Apple', 'Pear')
)
foreach ($F in $Fruits) {
[PSCustomObject]@{
Type = $F
}
}
}
$FruitsOriginal = Get-Fruits
Function Rename-ObjectName {
# Copy the array here
$FruitsNew = $FruitsOriginal # Not a true copy
$FruitsNew = $FruitsOriginal | % {$_} # Not a true copy
$FruitsNew = $FruitsOriginal.Clone() # Not a true copy
$FruitsNew | Get-Member | ? MemberType -EQ NoteProperty | % {
$Name = $_.Name
$FruitsNew | …Run Code Online (Sandbox Code Playgroud)