List <t> .AddRange如何实际添加所提供的范围?

时间:2019-01-14 18:52:40

标签: c# list addrange

我已经环顾了一段时间,似乎找不到任何涉及我所关注的文档。

我想知道我是否应该担心将提供给List<T>.AddRange()的范围添加到集合中的顺序。我可以假设一整天都按照我提供的顺序添加它;也就是说,如果我提供0, 8, 5, 2, 9,则永远不应以9, 5, 2, 0, 80, 8, 5, 2, 9以外的任何其他顺序添加。

我已经在控制台应用程序中运行了一个测试,以便使用AddRange方法中的后递增方式来确定结果,如下所示:

List<int> test = new List<int>();
for (int i = 0; i < 30;)
    test.AddRange(new int[] { i++, i++, i++ });

foreach (int i in test)
    Console.WriteLine(i);

按我期望的顺序从zero29打印。但是,我担心的是,我找不到能准确显示该范围如何添加到集合中的文档。我认为这可能与以下内容类似:

foreach (int i in range)
    collection.Add(i);

绝对可以保留我提供的任何订单,但是我想确保这实际上是正在发生的事情,或者至少是正在发生的事情永远不会重新排序所提供的范围。


注意:

很显然,我今天还没有喝咖啡,在寻找AddRange的{​​{3}}时错过了它。无论如何,谢谢,至少对于可能好奇的未来读者来说,这是一个很好的问题。

1 个答案:

答案 0 :(得分:2)

  

集合中元素的顺序保留在   列表。

这是“备注”部分下的第一行: https://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.addrange?view=netframework-4.7.2