簡體   English   中英

刪除列表中的項目C#

[英]delete item in a list c#

我需要一點幫助。 我的項目中有2個列表:1個具有5,000個項listA ,另一個具有10,000個項listB 我正在使用for loop讀取列表:

for(int j = 5000 - 1; j > 0; j--)

我需要刪除listA的最后一項,而在listB ,我需要刪除最后2項。 此過程是必需的,因為我需要優化軟件中的內存。

我真的很感謝任何幫助謝謝

我嘗試這樣做,但是不起作用:

listA.RemoveAt(j);
listB.RemoveAt(9999 - i + 1);
listB.RemoveAt(9999 - i );

刪除最后一項

listA.RemoveAt(listA.Count - 1)

對於最后兩項,只需執行兩次即可。 您應該檢查計數是否已經為0,否則會出現異常。

由於j似乎總是等於listA最后一項的listA ,因此2 * j + 1始終等於listB最后一項的listB 因此,您可以只使用RemoveAt / RemoveRange

listA.RemoveAt(j);
listB.RemoveRange(2 * j, 2);

另外,如果內存管理是一個大問題,您可能需要考慮通過設置“ Capacity來縮小列表(請注意,這可能會影響性能,因此您應該避免過於急於執行此操作)。

listA.Capacity = j;
listB.Capacity = 2 * j;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM