它是在内部被视为数组还是被 CLR 视为完全不同的类型?
我正在尝试将整数值实现到列表中。
List<int> lst = new List<int>();
lst.Add(3);
lst.Add(4);
对比
我创建了一个整数数组
int[] arr = new int[2];
arr[0] = 3;
arr[1] = 4;
数组返回更好的时间跨度结果。那么为什么人们更喜欢 List<>。
最佳答案
List<>
是一种数据结构的实现,它负责按需分配内存;它允许在任何索引处插入和删除等。因此它比简单的数组方便得多。
在引擎盖下,当前 List<>
实现使用数组进行存储,并且进行类似数组的操作时的开销是最小的。增加的便利通常值得一点(如果有的话)性能差异。添加项目通常更快,因为列表分配内存块并且不需要在每次添加时进行新的分配和复制(与纯数组相比,其中Length
总是绑定(bind)到内存中的大小)。
关于.net - List<T> 如何在内部映射?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11807571/