我想更新子类列表中的一个元素,但它不起作用。为什么? 代码示例其中:
//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.
答案 0 :(得分:1)
变量setAction
将包含对列表中找到的对象的引用,即列表中存储的引用的副本。
将新对象分配给变量setAction
时,只会替换变量中的引用。由于它是列表中引用的副本,因此列表不受影响。
您需要获取列表中项目的索引,以便替换列表中存储的引用:
play.Actions[index] = pa;