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

List<T>泛型列表

ListT是 C# 中最常用的动态数组集合T代表存储的数据类型如int/string/ 自定义类长度可自动扩容比普通数组更灵活。在目前的学习中我认为相比string类、DateTime类和数学类使用更多更难以理解所以写一篇总结一、基础创建与初始化// 1. 空列表创建 Listint numList new Listint(); Liststring strList new Liststring(); // 2. 创建时直接初始化 Listint numList2 new Listint { 1, 2, 3, 4 }; Liststring strList2 new Liststring { 张三, 李四, 王五 };二、增删改查操作1.添加元素//添加单个元素 numbers.Add(1); // 添加多个元素 numbers.AddRange(new int[] { 2, 3, 4 }); //在末尾添加数组 numbers.AddRange(数组名2.删除元素// 删除指定元素第一个匹配项 list.Remove(20); // 删除指定索引元素 list.RemoveAt(0); // 按条件批量删除* list.RemoveAll(x x 20); // 清空所有元素 list.Clear();3.修改元素list[0] 100; // 直接通过索引赋值修改4.查询 / 访问元素// 按索引访问 int first list[0]; numbers[1] 10; // 通过索引修改 // 常用查询方法 int count list.Count; // 获取元素个数不是Capacity bool hasElement list.Contains(10); // 判断是否包含元素 int index list.IndexOf(10); // 获取元素索引不存在返回-1注var为自适应类型让编译器自动推断变量的类型三、遍历列表// foreach 循环 最常用 foreach (int num in numbers) { Console.WriteLine(num); } // for 循环 需要索引时使用 for (int i 0; i numbers.Count; i) { Console.WriteLine($索引{i}{names[i]}); }四、排序与反转Listint list new Listint { 3, 1, 4, 2 }; list.Sort(); // 升序排序默认 list.Reverse(); // 反转元素顺序 // 自定义排序如降序 list.Sort((a, b) b.CompareTo(a));五、查找// 条件查询 var result list.Find(x x 5); // 查找第一个符合条件的元素 var allResult list.FindAll(x x 5); // 查找所有符合条件的元素 var result list.FindLast(x x 5);//查找最后一个符合条件的元素 // 二分查找仅适用于已排序的列表效率远高于线性查找 Listint sortedList new Listint { 1, 3, 5, 7, 9 }; int position sortedList.BinarySearch(5); // 返回索引2 int notFound sortedList.BinarySearch(6); // 返回负数表示插入位置六、自动扩容机制初始容量默认Capacity 0第一次添加元素时扩容到4扩容策略每次容量不足时翻倍扩容4→8→16→32...扩容过程创建一个新的更大的数组将旧数组的所有元素复制到新数组然后丢弃旧数组性能影响频繁扩容会导致大量的数组复制操作降低性能总结核心特性动态长度、泛型安全、索引访问、增删改查便捷高频方法Add/Remove/Sort/Find/Count/ToArray适用场景需要频繁增删元素、长度不固定的集合数据、主要在列表末尾进行增删操作。
http://www.gsyq.cn/news/1374866.html

相关文章:

  • 二、大模型节点配置以及结束节点配置
  • 诗心撷珍 | 李白诗行里,那些被忽略的星辰与旷野
  • 别急着买云服务器!手把手教你用闲置Win10电脑搭建个人SSH服务器(保姆级教程)
  • 手把手教你解锁影驰B360M主板隐藏的fTPM 2.0,绕过限制升级Win11(附BIOS修改避坑指南)
  • 量子计算硬件指纹识别:从噪声特性到设备认证
  • CVPR 2019 RKD论文复现踩坑记:从理论公式到可运行的PyTorch代码全解析
  • 信号与系统避坑指南:为什么两个三角波卷积不是尖顶脉冲?用Python和傅里叶变换给你讲透
  • 2026年知名的扫描电镜产品/台式扫描电镜/扫描电镜/SEM扫描电镜口碑好的厂家推荐 - 行业平台推荐
  • 【小白吃透AI】大语言模型LLM超详细原理全集|通俗图解+训练流程+推理机制+优缺点+面试大全
  • 助睿实验作业3-学生用户画像考勤画像可视化分析
  • Seedance 2.0 开启 2K 输出后,画质到底提升多少?我做了一轮实测
  • C++形参带有默认值函数
  • 端到端课程自用 7 规划 端到端的训练数据与评测方法 笔记
  • 从技术配置角度拆解全屋定制:五金件选型对柜体长期稳定性的影响
  • 别再为乱码头疼了!Linux离线安装LibreOffice 7.5完整指南:从RPM包到完美中文显示
  • 2026木工胶行业技术壁垒深度解析:为什么90%的家具厂都卡在这3个技术节点?
  • 机器学习对抗概念漂移:Chrome恶意扩展检测的实战与挑战
  • QCA分析中‘异常案例’怎么处理?SetMethods包的mmr函数实战指南与案例选择策略
  • SQL Server 2017 Evaluation 版升级 Developer 版:解决升级卡死与连接失败的全过程复盘
  • c++ csv?_?C++处理csv文件格式的fstream与字符串分割方法详解.txt
  • 2026年5月儿童护眼灯品牌推荐:TOP5排名书桌防蓝光评测
  • FPGA与机器学习协同加速量子点自动调谐:原理、实现与性能分析
  • 安全多方计算在隐私保护AI推理中的应用:FHE与混淆电路协议对比
  • 2026年口碑好的温州办公家具/智能办公家具/简约办公家具厂家哪家好 - 行业平台推荐
  • 阿拉伯语多模态机器学习:从数据构建到模型融合的工程实践
  • 01-大模型AI:大模型学习指南
  • 通用机器学习势函数在掺杂MoS₂材料高通量模拟中的实战应用
  • 机器学习原子间势的不确定性校准:从全局标尺到环境自适应
  • 量子机器学习实战:用QLSTM守护量子密钥分发安全
  • 对抗性多臂老虎机与EXP4算法:原理、实现与实战调优