私は次のことを行うPowerShellスクリプトを持っています
$somePSObjectHashtables = New-Object Hashtable[] $somePSObject.Length;
$somePSObjects = Import-CSV $csvPath
0..($somePSObject.Length - 1) | ForEach-Object {
$i = $_;
$somePSObjectHashtables[$i] = @{};
$somePSObject[$_].PSObject.Properties | ForEach-Object {
$somePSObjectHashtables[$i][$_.Name] = $_.Value;
}
}
CSV内のデータのいくつかの異なるコピーを作成して、いくつかの異なる操作を実行したいので、これを行う必要があります。ある意味で、PSObjectの結果の配列に対して「INNERJOIN 」を実行しています。ForEach-Object$somePSObjectHashtables
を使用して簡単に反復処理し、配列の各メンバーでHashtable.Clone()を呼び出すことができます。次に、PSObjectのディープコピーを取得するために使用できます。New-Object PSObject -Property $someHashTable[$i]
私の質問は、中間のハッシュテーブルなしで、ディープコピーを作成する簡単な方法はありますか?