我四处寻找了一段时间,似乎找不到任何涉及我所关心的问题的文档。
我想知道我是否应该关心将提供给List<T>.AddRange()
的范围添加到集合中的订单。我可以整天假设它将按照我提供的顺序添加;也就是说,如果我提供0, 8, 5, 2, 9
,它就不应该以9, 5, 2, 0, 8
或0, 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);
它按顺序打印,正如我所期望的那样,从zero
到29
。然而,我担心的是,我找不到确切说明如何将该范围添加到集合中的文档。我认为这将是一个类似于的东西
foreach (int i in range)
collection.Add(i);
这肯定会保留我提供的任何订单,但我想确保这是实际发生的事情,或者至少发生的事情永远不会重新排序提供的范围。
注意:
显然,我今天还没有喝足够的咖啡,在查看AddRange
的文档时错过了。无论如何,谢谢大家,至少这对未来可能好奇的读者来说是一个很好的问题。
集合中元素的顺序保留在列表
这是备注部分下的第一行:https://learn.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.addrange?view=netframework-4.7.2