跟踪this thread。
无法克隆有序哈希表。
是否有一种“简便”的方法来做到这一点?我确实找到了一些示例,这些示例对于这样的“简单”任务来说似乎过于复杂。
$a = [ordered]@{}
$b = $a.Clone()
Method invocation failed because [System.Collections.Specialized.OrderedDictionary] does not contain a method named 'Clone'.
答案 0 :(得分:3)
OrderedDictionary不包含Clone方法(另请参见ICloneable接口)。您必须手动进行:
$ordered = [ordered]@{a=1;b=2;c=3;d=4}
$ordered2 = [ordered]@{}
foreach ($pair in $ordered.GetEnumerator()) { $ordered2[$pair.Key] = $pair.Value }
答案 1 :(得分:2)
答案 2 :(得分:0)
如果您愿意丢失它的有序方面,一种快速的解决方案是将其转换为普通的哈希表并使用其Clone()方法。
$b=([hashtable]$a).Clone()