从列表中删除前3个项目

时间:2019-06-19 20:07:11

标签: c#

如何从列表中一起删除n个项目?

例如,在10个元素的列表中,我想使用for cicle一起删除3个项目

3 个答案:

答案 0 :(得分:3)

如果您想安全地删除前三个项目:

.exe

这将最多删除三项,但是如果列表中少于三项,则不会引发异常。如果列表中有0、1或2个项目,则会删除其中的许多项目。

答案 1 :(得分:2)

您要使用TakeSkip。如跳过文档所述:

  

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,然后返回。

您可以(并且应该已经)在文档中了解以下方法:SkipTake

// 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);
}

正如thisthis的答案所建议的那样,更好的方法是使用RemoveRange方法。
也去看看那些答案。

答案 2 :(得分:1)

只需删除前3个项目?

list.RemoveRange(0, 3);

index=0开始删除3个项目。