2011-07-14 93 views
3

當我將一個項目(一個類的實例)添加到列表中時,我需要知道新項目的索引。它可能與任何功能?如何獲取C#中列表中新增項目的索引?

示例代碼:

MapTiles.Add(new Class1(num, x * 32 + cameraX, y * 32 + cameraY)); 
+0

MapTiles是否繼承列表?如果沒有,請發佈MapTiles類。否則,您的索引是MapTiles.Count-1,因爲Add附加到列表的末尾。 –

回答

6

MapTiles.Count會給你會被添加到列表中

喜歡的東西下一個項目的索引:

Console.WriteLine("Adding " + MapTiles.Count + "th item to MapTiles List"); 
MapTiles.Add(new Class1(num, x * 32 + cameraX, y * 32 + cameraY)); 
2

Count添加之前立即。

int index = MapTiles.Count; 
MapTiles.Add(new Class1(num, x * 32 + cameraX, y * 32 + cameraY)); 
5
Class1 newTile = new Class1(num, x*32 + cameraX, y*32 + cameraY); 
MapTiles.Add(newTile); 
int index = MapTiles.IndexOf(newTile); 
+0

使用.Count會更快,因爲列表的大小保持在狀態,但使用Index似乎更正確/可讀。 – RhysC

+0

請勿使用IndexOf(),因爲它會返回該對象的* first *次數。如果多次添加相同的對象,請使用'LastIndexOf()'。 – mireazma

2

如果你總是使用.Add(T);方法不使用.Remove(T);,那麼索引將是Count - 1

相關問題