C#使用类对象分配子类对象

时间:2015-01-26 22:30:43

标签: c# object reference

我想更新子类列表中的一个元素,但它不起作用。为什么? 代码示例其中:

//it is second paymentAction in Actions.
playAction setAction = play.Actions.Find(ActionType.Set);

//pa is playAction object with values inside. 
setAction=pa;

/// in debug mode, the Actions[1] in play object didn't change. It still contain old values.

1 个答案:

答案 0 :(得分:1)

变量setAction将包含对列表中找到的对象的引用,即列表中存储的引用的副本。

将新对象分配给变量setAction时,只会替换变量中的引用。由于它是列表中引用的副本,因此列表不受影响。

您需要获取列表中项目的索引,以便替换列表中存储的引用:

play.Actions[index] = pa;