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