我已經閱讀了不少的數據局部性帖子,但沒有找到答案:如果我創建一個結構數組以獲得連續的內存塊(讓我們說MyStruct,它是由值類型組成),然後向我的MyStruct添加一個字符串,其中字符串分配在哪裏?簡而言之,被聲明爲結構成員的引用類型是數組中的項目,在獲取緩存行時可以很好地發揮作用。或者我最終得到一個引用,然後該引用必須被定位,這首先打破了創建結構數組的全部目的?C#數據局部性:結構數組中的引用類型
我相信我的措辭正確,但我覺得它有點滑。
我很感激你的時間。
編輯:我知道該字符串在堆中分配,只是想知道關於連續方面...
我猜'結構MyClass {字符串成員; }'be be'class MyClass {string Member; }'。 – NikolayKondratyev
好趕上!編輯修復。 – MaulingMonkey
這很清楚,我很感激。我沒有想過'節省一層間接'這個部分,這當然是有意義的。 –