如何从第n个位置删除列表中的条目?

时间:2012-06-20 13:41:20

标签: c# list

如何从第n个位置开始删除字符串列表中的条目?

这意味着如果我有一个包含10个元素的列表,如果n = 7,我需要删除第8个,第9个和第10个条目,并且只获得前7个条目。

6 个答案:

答案 0 :(得分:1)

使用LINQ:

var firstSeven = list.Take(7);

别忘了

using System.Linq;

答案 1 :(得分:1)

您可以使用List<T>.RemoveRange方法。或者使用LINQ创建一个只包含符合条件的元素的新列表。

答案 2 :(得分:1)

答案 3 :(得分:0)

你可以使用LINQ .Take()扩展方法,它不会直接影响原始集合,就像这样

var fewerStrings = myCollectionOfStrings.Take(n);

此外,如果您想在集合中选择一系列项目,可以将其与.Skip()扩展方法结合使用

var fewerStrings = myCollectionOfStrings.Skip(n).Take(y);

答案 4 :(得分:0)

使用List.RemoveRange:

int index = 7;
lst.RemoveRange(index,lst.Count-index);

List.RemoveRange

答案 5 :(得分:0)

只选择您需要的内容,您可以使用Enumerable.Take

var list   = new List<String>() { "a", "b", "c", "d", "e", "f", "g", "h", "i", "j" };
var result = list.Take(7).ToList(); // a,b,c,d,e,f,g,

另一种方法是使用List.RemoveRange Method

result = list.RemoveRange(6, 3)