如何从列表中一起删除n个项目?
例如,在10个元素的列表中,我想使用for cicle一起删除3个项目
答案 0 :(得分:3)
如果您想安全地删除前三个项目:
.exe
这将最多删除三项,但是如果列表中少于三项,则不会引发异常。如果列表中有0、1或2个项目,则会删除其中的许多项目。
答案 1 :(得分:2)
您要使用Take
或Skip
。如跳过文档所述:
Take和Skip方法是功能性的补充。给定一个序列coll和一个整数n,将coll.Take(n)和coll.Skip(n)的结果串联起来,便得到与coll相同的序列。
// this will take the first three elements of your list.
IEnumerable<SomeThing> firstThree = list.Take(3);
// this will take all the elements except for the first three (these will be skipped).
IEnumerable<SomeThing> withoutFirstThree = list.Skip(3);
如果要使用List
而不是IEnumerable
,可以在.ToList()
上使用Enumerable
,然后返回。
您可以(并且应该已经)在文档中了解以下方法:Skip和Take。
// to remove the items instead of getting the list without them, you can simply do this:
// it will remove the first item three times resulting in removing the first three items.
for (int i = 0; i < 3; i++)
{
list.RemoveAt(0);
}
正如this和this的答案所建议的那样,更好的方法是使用RemoveRange方法。
也去看看那些答案。
答案 2 :(得分:1)
只需删除前3个项目?
list.RemoveRange(0, 3);
从index=0
开始删除3个项目。