【发布时间】:2015-04-01 07:49:29
【问题描述】:
如果对列表中对象的引用丢失,我遇到了问题,这就是我详细阐述我的代码的方式:
PropertyObject[] myProperties = new PropertyObject[200];
var objParent = new Parent();
var objProperty = new PropertyObject();
myProperties[0] = objProperty;
objParent.property = myProperties[0];
现在当我修改objParent.property 时,它不会修改myProperties 数组中的对象,有什么解决方法吗?我需要这个,这样我就不必遍历数组。
这就是我修改对象的方式:
public void modifyObject(ref Parent objectToModify) {
objectToModify.property.isThisCrazy = true;
}
然后我只调用modifyObject 方法。
【问题讨论】:
-
PropertyObject是什么? -
它是一个结构体,用来保存对象的一些特征
-
objParent不在数组中,那么修改objParent为什么要改变数组呢? “那我就调用 modifyObject 函数”在哪里? -
结构是值类型。要使其成为引用类型,请将其更改为类
标签: c# arrays struct reference