繁体   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