最初,我是“ dict”和“ dict2”,这是“ dict”的副本。 如果我在“ dict”中替换了Key,那么更改也将应用于dict2。 如何避免这种情况?下面是一些示例代码。
__prepare__
理想情况下,我会将“ dict”传递给另一个Sub,通过替换一些键对其进行验证,然后退出Sub。 然后,我将继续使用原始词典。
但是目前这行不通,因为对字典的更改似乎是全球性的。
答案 0 :(得分:4)
当您执行“ dict2 = dict”时,它不会创建新的词典,您只有两个指向同一位置的变量。您需要创建一个新实例并复制数据。
Dim dict As New Dictionary(Of String, Object) From {{"Big", "Small"}, {"Hot", "Cold"}}
Dim dict2 As New Dictionary(Of String, Object)(dict)