[英]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.