我有一个成员变量,它是引用类型的列表。在我创建和项目的方法中,将其添加到列表中。然后将该项目更新为指向另一个实例,但列表中的实例没有更新(他在某些单元测试代码中)。示例看起来像
Item localItem = new Item(arg1, arg2);
this.itemList.Add(localItem);
// Do some testing and assertions
localItem = new Item(arg3, arg4); // This does not update the instance of
// localItem in this.ItemList
// Do some more testing and assertions
我可以更新我的测试来解决这个问题,但它仍然让我感到惊讶。我假设 List 想要保留通过该Add
方法传递的原始实例,并且不在乎用于传递它的局部变量现在是否指向其他东西。任何人都可以确认这种理解或更清楚地解释它吗?