当前位置: 首页 > wzjs >正文

唐山市城乡建设局网站免费发布信息网站网址大全

唐山市城乡建设局网站,免费发布信息网站网址大全,网站的信任度,做礼品公司网站的费用在 C# 中&#xff0c;List<T>是一个动态数组&#xff0c;它会根据需要自动调整其容量以容纳更多的元素。 目录 1 扩容条件与扩容算法规则 2 总结 1 扩容条件与扩容算法规则 当你创建一个新的List<T>实例时&#xff0c;如果没有指定初始容量&#xff0c;它会使…

在 C# 中,List<T>是一个动态数组,它会根据需要自动调整其容量以容纳更多的元素。

目录

 1  扩容条件与扩容算法规则

 2  总结


 1  扩容条件与扩容算法规则

当你创建一个新的List<T>实例时,如果没有指定初始容量,它会使用默认的初始容量,这个默认值通常是 0 。当你第一次添加元素时,List<T> 会将容量初始化为一个预设的值,在 .NET 中,这个预设值是 4。

        List<int> list = new List<int>();Console.WriteLine($"初始容量: {list.Capacity}"); // 输出: 0list.Add(1);Console.WriteLine($"添加一个元素后的容量: {list.Capacity}"); // 输出: 4

当你向List<T>之中添加元素,并且超过了他的容量的时候,List就会自动扩容。

List扩容算法是将当前容量乘以 2 (在某些早期版本的 .NET 中可能会有不同的实现,但大多数情况下是乘以 2 )。例如,如果当前容量是 4,当需要扩容时,新的容量会变为 8;如果当前容量是 8,新的容量会变为 16,依此类推。

我们举个例子:

using System;
using System.Collections.Generic;class Program
{static void Main(){List<int> list = new List<int>();for (int i = 0; i < 30; i++){list.Add(i);Console.WriteLine($"添加元素 {i} 后,元素数量: {list.Count}, 容量: {list.Capacity}");}}
}

为了避免频繁的扩容操作带来的性能开销,你可以在创建List<T>实例时手动指定初始容量。例如:

        public static void Main(string[] args){// 指定初始容量为 20List<int> list = new List<int>(20); Console.WriteLine($"初始容量: {list.Capacity}"); // 输出: 20}

 2  总结

List<T>的扩容机制是自动且动态的,当元素数量超过当前容量时,会将容量扩大为原来的 2 倍。扩容过程涉及到新数组的分配、元素的复制和原数组的释放,可能会带来一定的性能开销。因此,在已知元素数量大致范围的情况下,手动指定初始容量可以提高性能。扩容过程主要包含以下几个步骤:

  • 分配新数组:根据新的容量在内存中分配一个更大的数组
  • 复制元素:将原数组中的所有元素复制到新数组中。
  • 释放原数组:原数组的内存会被释放,由垃圾回收器进行处理
  • 更新引用:List<T>内部会更新其对数组的引用,指向新分配的数组
http://www.dtcms.com/wzjs/817205.html

相关文章:

  • 建站专业定制网站建设策划书(建设前的市场分析)
  • 深圳电子商务网站开发网站建设的功能需求分析
  • 入侵网站做360广告快速开发app
  • 网站建设合同 印花税wordpress主题 电影
  • 搜索引擎 网站推广asp网站经常 响应
  • 天津建设项目验收公示网站设计说明怎么写
  • 长春网站建设托管爱站seo工具包
  • 公司想做个网站应该怎么做如何做外贸品牌网站建设
  • 给窗帘做网站开个网站卖机器怎么做
  • 网站建设技术 教材c语言怎么做网站
  • 福州 网站建设 快搜网络云南网红
  • 台州黄岩做网站建设银行网站 查余额
  • 在后台怎么做网站内链企业产品营销策划推广
  • 做视频直播的网站怎么做好网络推广销售
  • 新的房地产网站怎么做SEO河北大城县网站建设公司
  • 信息手机网站模板下载安装罗湖商城网站建设哪家技术好
  • 手机微网站建设方案广陵建设局网站
  • 卖主机网站比百度更好的网站
  • 免费开网店怎么开seo线下培训机构
  • 沙田镇网站建设公司godaddy 同时安装dedecms和wordpress
  • 信誉好的江苏网站建设购买一个网站需要多少钱?
  • 网站做中英文切换好网站建设公司哪个好呀
  • d0906网站建设与管理网站开发时遇到的问题
  • 峨边网站建设会展设计师资格证
  • 没有域名网站吗做效果图的方便的网站
  • 网站建设的实验结论四川省城乡住房建设厅网站
  • swiper做的全屏网站抖音代运营合作方案
  • 网站优化 图片网站设计团队
  • 站长资讯兰州做网站优化
  • 什么是网站架构网站后台做数据库备份代码