2016-08-23 60 views
1

我有一個定義的類,其中定義了許多值。我想複製它,然後更改1個變量。但是,當我這樣做時,它也會改變我原來的類中的變量。VB網絡複製類和更改值

我使用的代碼如下所示。任何想法我做錯了什麼?

Dim NewClass As MyClass = PreviousClass(i) 
NewClass.Value1 = NewVal 
+0

你確定你說的結構而不是類?請顯示結構定義,以及如何初始化PreviousVar數組 – Steve

+0

對不起,這是一個類 – Chris

+0

@Chris我看到你變成了類,這是類的全部目的......它將與結構一起工作。 –

回答

2

這看起來是因爲當你DimNewClass對象,這只是建立另一個參考PreviousClass對象。因此變量名稱NewClassPreviousClass指的是完全相同的對象,這就是爲什麼NewClass.Value1 = NewVal也影響PreviousClass

由於JaydipJ暗示,可能需要對象的深層副本,這兩個答案看起來他們可能對您有用 -

Create a 「clone」 of this object, not point to it

copy one object to another

+0

感謝此對象的「創建」克隆「,而不是指向它''問題解決了我的問題 – Chris