c# - C#中List的内部工作

标签 c#

<分区>

谁能解释一下如何List<T>在 C# 内部工作?

 public List<ConvData> pdetails = new List<ConvData>();

它是如何存储的?当我们调用 pdetails.Add(); 时到底发生了什么

最佳答案

List 的实现方式与 C++ 的 vector 相同,这意味着实现分配一个预定义大小的数组,填充该数组,当你想添加一个元素并且数组已满时,实现分配一个新数组,更大,复制所有值到新数组,然后添加新值。 这导致添加时的平均性能为 O(1),但并非总是如此。

关于c# - C#中List的内部工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31445717/

相关文章:

c# - 停止音频剪辑/音频源

c# - WebClient 下载文件到 0KB?

c# - 获取异常详细信息

c# - 如何在 jQuery.each() 函数中获取子属性?

c# - Windows 服务中未处理的异常

java - Java 中使用 CFB NoPadding 模式进行 C# AES 加密

c# - 您将 dpiAware 代码放在 clickonce list 中的什么位置?

c# - 创建文档不起作用 - C# DocumentDB/CosmosDB

c# - 将嵌套的匿名函数转换为 foreach 循环

c# - 如何从 WebBrowser Control 为任意域设置和删除 cookie