-3

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

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

4

6 回答 6

1

使用 LINQ:

var firstSeven = list.Take(7);

不要忘记

using System.Linq;
于 2012-06-20T13:43:33.893 回答
1

您可以使用该List<T>.RemoveRange方法。或者使用 LINQ 创建一个新列表,其中仅包含满足您条件的元素。

于 2012-06-20T13:43:36.937 回答
1

看一下list.RemoveRange功能。

http://msdn.microsoft.com/en-us/library/y33yd2b5.aspx

于 2012-06-20T13:44:03.320 回答
0

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

var fewerStrings = myCollectionOfStrings.Take(n);

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

var fewerStrings = myCollectionOfStrings.Skip(n).Take(y);
于 2012-06-20T13:43:47.153 回答
0

使用 List.RemoveRange:

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

List.RemoveRange

于 2012-06-20T13:43:53.263 回答
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 方法

result = list.RemoveRange(6, 3)
于 2012-06-20T13:44:03.500 回答