【发布时间】:2017-03-14 22:26:05
【问题描述】:
我需要一点帮助。我的项目中有 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 );
【问题讨论】:
-
你的意思可能是
9999 - (i + 1),或者9999 - i - 1。 -
如果您只是从列表中删除项目,为什么需要迭代它们?
-
顺便说一句,您目前正在阅读的项目太少 - 您需要
j >= 0进行反向循环 -
在这种情况下您是否必须明确使用 for 循环(例如家庭作业)?因为有更简单的方法来做你想做的事。
-
可能想清理有问题的
i和j的歧义
标签: c# linq list memory-management