我有暴露的Arraylist
以下公共财产:属性 - 按值或引用?
public ArrayList SpillageRiskDescriptions
{
get
{
return _SpillageRiskDescriptions;
}
set
{
_SpillageRiskDescriptions = value;
}
}
在其他地方我打电话
SpillageRiskDescriptions.Add("VENTILATE AREA");
SpillageRiskDescriptions.Add("DO NOT ALLOW SPILLAGE TO ENTER MAINS");
这些似乎将元素添加到私人的ArrayList _SpillageRiskDescriptions
(通过属性)而我会预料到这会导致一个问题。因此,我正确地认为属性将参考返回到原始变量,并且不通过值?这是因为ArrayList
是参考类型吗? int
(例如?)
想象它与C++一样,你可以将一个指针传递给一个对象,并且你可以改变那个指针指向的内容,但是你不能指向其他东西,因为你有一个指针的副本而不是原始指针。如果你想改变它指向的对象,你必须传递一个指针指向一个指针(或者指向一个指针)。这就是为什么在C#中,如果要更改引用的对象,则需要ref和out关键字。 – 2011-03-11 15:31:51
非常好 - 这非常有用 – 2011-03-11 15:35:27