如何截断列表?

mpe*_*pen 20 c#

在包含第n个元素之后删除每个元素的最简单方法是System.Collections.Generic.List<T>什么?

Dan*_* T. 35

如果你可以使用RemoveRange方法,只需:

list.RemoveRange(index, count);
Run Code Online (Sandbox Code Playgroud)

索引是从哪里开始,count是要删除多少.因此要删除从某个索引到结尾的所有内容,代码将是:

list.RemoveRange(index, list.Count - index);
Run Code Online (Sandbox Code Playgroud)

相反,您可以使用:

list.GetRange(index, count);
Run Code Online (Sandbox Code Playgroud)

但这将创建一个新列表,可能不是您想要的.

  • `RemoveRange`不是LINQ方法,它是`List <>`的实例方法. (4认同)
  • 在我看来,索引的长度更长。`list.RemoveRange(len, list.Count - len); // 将前 len 个元素保存在列表中` (2认同)

小智 10

sans LINQ quicky ...

    while (myList.Count>countIWant) 
       myList.RemoveAt(myList.Count-1);
Run Code Online (Sandbox Code Playgroud)