gpt4 book ai didi

c# - List 删除超过某个索引的对象(以及这样做的速度)
转载 作者:行者123 更新时间:2023-11-30 19:56:37 25 4
gpt4 key购买 nike

我在一个列表中存储了一堆 url,预计会有很多(最多大约 3,000,000,更常见的是大约 50,000 到 200,000)。

举个我需要做的例子:

字符串列表


    [0]www.google.ca      [1]www.yahoo.com      [2]www.wikipedia.com      [3]www.youtube.com      [4]www.gmail.com      [5]www.stackoverflow.com      [6]www.steam.com      [7]www.microsoft.com      [8]www.ebay.com  

I need to remove everything past string[5]. Should I just create a loop that does

while (ListOfStrings.Count>5)
{
ListOfStrings[6].Remove
}

或者有更快的方法吗? (我在想可能使用 .GetRange(0, ListOfStrings.IndexOf()) 但是最多需要删除 25 个字符串,所以我不确定哪个会更多高效)

我还需要执行相反的操作(条目 [5] 之前的所有内容),只是我需要删除更多的字符串,而不是最多 25 个。这将更像是 50,000 次删除。

最佳答案

正如我在评论中提到的:

如果您不想触及列表而只想获取一个子集:

  • 如果你想从列表的开头取出一个子集,你可以使用Take。方法:

    var result= list.Take(5).ToList();//结果是前5项

  • 如果你想从列表中间取出一个子集,你可以使用SkipTake方法:

    var result = list.Skip(3).Take(5).ToList();//结果是第4到8项

如果您想从列表中删除项目:

  • 您可以使用 RemoveRange :

    list.RemoveRange(5, 4);//它更改列表并删除 5 以上的所有项目

关于c# - List<object> 删除超过某个索引的对象(以及这样做的速度),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33404244/

25 4 0