好吧,我正在發生跨語言呃逆。在C#與它的人類羣體像列表和 我:如何在C中創建一個引用集合#
一個Map類的屬性:
List
<byte[]>
圖像;
列表<Tile>
瓷磚;
的瓷磚類:
byte[] ImageData;
int X;
int Y;
現在我想將圖像添加到地圖類,並有瓷磚類爲「參考」,它的圖象 - 屬性。我發現我不能將它分配給Images [0]。您無法引用List的對象。
我的修復是創建一個詞典。這是最好的方式還是我可以以某種方式有一個「指針」的對象集合?
- 響應意見,如果我有一堆已經圖象 - 指向第一個字節數組中的列表,然後我改變這種形象在列表中,並搶在瓷磚的圖像塊,他們都是以前的圖像分配。因此,將圖塊分配到列表中的第一個圖像,然後更改該圖像,現在我希望圖塊引用新圖像。他們不。
FINAL REVISION - 看看gladford3x的代碼(我還沒有掌握格式化)。 Main中的最後一行將是
myMap.Images [0] = image2;
以及當你調用myMap.Tiles [0] .ImageData將有數據從第一字節數組
我不遵循你想要的。如果將Tile對象添加到列表中,那麼您將擁有一個引用列表,因爲Tile是引用類型。你能舉一個你想做什麼的代碼示例嗎? – galford13x 2010-05-12 23:22:36
我不確定你在這裏做什麼。 'Images [0]'完全可以工作。另外,「指向一組對象的指針」部分有點令人困惑:「this.Images' *實際上就是這樣一個指針。 – Jon 2010-05-12 23:23:26
你是否在談論改變存儲在Images [0]上的圖像,並使用該圖像反映更改?如果是這樣,您可以傳遞索引而不是圖像數據,並在需要檢索實際圖像時使用地圖。即而不是存儲ImageData,存儲ImageIndex。 – 2010-05-12 23:33:37