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

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?

原文地址:https://www.cnblogs.com/swobble/p/9758448.html