我有暴露的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