想象一下,我有一個結構與9屬性,返回一個值類型作爲其結果,並在該結構中,我也有它返回一個引用類型的屬性:IEnumerable
這樣的:這應該是一個結構或更好的類(9值類型的屬性和1參考值)
public IEnumerable<KeyValuePair<String, String>> Dostuff
{
get
{
//doing some operations in here
return _valueToReturn;
}
}
使用IEnumerable
需要堆空間,但實際上該結構是基於棧,所以怎麼在我的情況怎麼辦?
順便說一下結構是不可變的。
你不在乎。 CLR爲你處理所有這些東西。 –
http://stackoverflow.com/questions/3942721/structs-versus-classes – HimBromBeere
可能的副本https://msdn.microsoft.com/en-us/library/ms229017(v=vs.110).aspx – Nahum