c# - 如何列出.AddRange 实际上添加了提供的范围?
问题描述
我已经环顾了一段时间,似乎找不到任何涵盖我关注的文档。
我想知道我是否应该关心将提供的范围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);
正如我预期的那样,它按顺序打印 from zero
to 29
。但是,我担心的是我无法找到确切显示此范围是如何添加到集合中的文档。我会假设它会是这样的:
foreach (int i in range)
collection.Add(i);
这肯定会保留我提供的任何订单,但我想确保这实际上是正在发生的事情,或者至少正在发生的事情永远不会重新排序提供的范围。
笔记:
显然我今天还没有喝足够的咖啡,在查看. AddRange
无论如何,谢谢大家,至少对于可能好奇的未来读者来说,这是一个很好的问题。
解决方案
集合中元素的顺序保留在列表中。
这是备注部分下的第一行: https ://docs.microsoft.com/en-us/dotnet/api/system.collections.generic.list-1.addrange?view=netframework-4.7.2
推荐阅读
- sql - SQL 连接具有相同列名的两个表
- discord.js - 如何制作队列系统 - Discord.js
- typescript - 在 Expo 和 TypeScript 中的类型“{}”上不存在属性“origin”
- javascript - 为什么Javascript中原型继承的嵌套级别总是1?
- android - 错误配置流发布允许失败 | rtmp-rtsp-stream-client-java 库为android | Youtube 直播 api
- google-chrome-devtools - PuppeteerSharp:如何同时启用请求拦截和缓存?
- c - 如何使用 Arb 库获得更高的正弦精度?
- python-3.x - 在 if/else 语句中使用方括号对函数的参数有什么作用?
- matlab - 在 Matlab 中的另一个矩阵中查找矩阵的行成员
- magento2 - magento 1 到 magento 2 问题迁移