一本字典中的更改会影响另一本字典

时间:2019-05-31 14:08:25

标签: vb.net dictionary variables

最初,我是“ dict”和“ dict2”,这是“ dict”的副本。 如果我在“ dict”中替换了Key,那么更改也将应用于dict2。 如何避免这种情况?下面是一些示例代码。

__prepare__

理想情况下,我会将“ dict”传递给另一个Sub,通过替换一些键对其进行验证,然后退出Sub。 然后,我将继续使用原始词典。

但是目前这行不通,因为对字典的更改似乎是全球性的。

1 个答案:

答案 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)