问题 引用对象赋值问题(替换集合中某一元素)

var db = DBvm.DBList.First(t => t.ID == DBI.ID);
if (db != null)
{
int index = DBvm.DBList.IndexOf(db);
DBvm.DBList.Remove(db);
DBvm.DBList.Insert(index, DBI);
}

替换成功

 

 

var db = DBvm.DBList.First(t => t.ID == DBI.ID);
if (db != null)
{
db=DBI;
}

替换不成功

 

看了一下内存位置,当执行db=DBI时,是将db的内存地址指向DBI的内存地址。

 

 

Why?

posted @ 2018-10-09 09:19  猝不及防  阅读(397)  评论(0编辑  收藏  举报