雷有辉,火龙果功效,恶龙军团优等生1
使用语言: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 { .id = me.id, .name = me.name } 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
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
Net Core Web Api项目与在NginX下发布的方法
asp.net core3.1 引用的元包dll版本兼容性问题解决方案
IdentityServer4实现.Net Core API接口权限认证(快速入门)
ASP.NET Core MVC通过IViewLocationExpander扩展视图搜索路径的实现
网友评论