stackoverflow
使用語言:vb.net
原網頁:
我想交換list
中有兩個引用型別物件的值,而不是引用。比如,list1(1)
在交換前後引用了乙個相同的物件,但物件值已經改變。
如果通過這種方式交換
dim someclass1 as new someclass
dim someclass2 as new someclass
arraylist1(1) = someclass1
arraylist1(2) = someclass2
temp = arraylist1(1)
arraylist1(1) = arraylist1(2)
arraylist1(2) = temp
這樣只交換了引用。arraylist1(1)
引用了someclass2
物件,但是我想要的效果是它依然引用someclass1
同時擁有someclass2
的值。
你需要自己乙個個複製屬性。你可以在你的類裡新增兩個方法讓這更簡單一些。
public class sampleclass
public property id as integer
public property name as string
public function clone() as sampleclass
return new sampleclass with
end function
public sub init(input as sampleclass)
with me
.id = input.id
.name = input.name
end with
end sub
public shared sub swapvalues(value1 as sampleclass, value2 as sampleclass)
dim temp = value1.clone()
value1.init(value2)
value2.init(temp)
end sub
end class
關於如何通過Swap函式交換兩個變數的值
資料交換在c語言中十分常見。作為初學者首先學的應該都是如下方式 int main 這種交換如果放在乙個函式中沒錯,但如果將它們分別放在子函式和主函式中就會發生錯誤。錯誤示例1 void swap int a,int b int main 其結果是列印出來的a,b值並沒有交換。這是因為在子函式中定義的...
通過Swap函式交換兩個變數的值
正確 void swap int p1,int p2 定義乙個整形變數tmp,p1 a p2 b,首先在tmp裡存入a的值,然後將b的值賦給a,再將tmp裡的值賦給。這樣就完成了a與b兩個數的交換。我們經常會發現自己寫出的程式並不能達到我們的要求,在寫這類題的時候我們也可能寫過以下三種錯誤的編寫方式...
php比較兩個變數的值 php如何交換兩個變數的值
本篇文章主要給大家介紹php交換兩個變數的值的具體實現方法。交換兩個變數是指相互交換變數的值。通常,這是通過記憶體中的資料完成的。交換兩個變數的方法有兩種 下面我們就通過具體的 示例為大家介紹php交換兩個變數值的方法。方法一 使用第三個變數交換兩個數字 如下 a 15 b 27 echo 交換前的...