导读:本期聚焦于小伙伴创作的《C#的List是什么?如何对列表进行添加、删除和排序操作?》,敬请观看详情,探索知识的价值。以下视频、文章将为您系统阐述其核心内容与价值。如果您觉得《C#的List是什么?如何对列表进行添加、删除和排序操作?》有用,将其分享出去将是对创作者最好的鼓励。

C#的List是System.Collections.Generic命名空间下的泛型集合类,它可以存储指定类型的元素,并且长度可以动态变化,不需要像数组一样在初始化时就确定固定长度,使用起来比数组更加灵活方便。

C#的List是什么?如何对列表进行添加、删除和排序操作?

List的基础定义与初始化

使用List之前需要先引入对应的命名空间,然后通过指定泛型类型来定义List实例,初始化时可以指定初始容量,也可以直接添加初始元素。

using System.Collections.Generic;

// 定义一个存储int类型的List,初始为空
List<int> numList = new List<int>();

// 定义一个存储string类型的List,同时添加初始元素
List<string> nameList = new List<string>() { "张三", "李四", "王五" };

List的添加操作

List提供了多种添加元素的方法,最常用的是Add方法添加单个元素,还有AddRange方法批量添加多个元素。

添加单个元素

使用Add方法可以将指定类型的元素添加到List的末尾,List的长度会自动扩容。

List<int> numList = new List<int>();
// 添加单个整数元素
numList.Add(10);
numList.Add(20);
numList.Add(30);
// 此时numList包含元素:10,20,30

批量添加元素

如果已经有多个同类型的元素需要添加到List中,可以使用AddRange方法,传入一个集合即可一次性添加所有元素。

List<int> numList = new List<int>() { 1, 2, 3 };
List<int> newNums = new List<int>() { 4, 5, 6 };
// 批量添加newNums中的所有元素到numList
numList.AddRange(newNums);
// 此时numList包含元素:1,2,3,4,5,6

List的删除操作

List支持多种删除元素的方式,可以根据元素值删除、根据索引删除,也可以清空所有元素。

根据索引删除元素

使用RemoveAt方法可以删除指定索引位置的元素,索引从0开始计数,如果传入的索引超出范围会抛出异常。

List<string> nameList = new List<string>() { "张三", "李四", "王五", "赵六" };
// 删除索引为1的元素,也就是"李四"
nameList.RemoveAt(1);
// 此时nameList包含元素:张三,王五,赵六

根据元素值删除元素

使用Remove方法可以删除第一个匹配指定值的元素,如果元素存在则返回true,不存在则返回false。

List<string> nameList = new List<string>() { "张三", "李四", "王五", "李四" };
// 删除第一个值为"李四"的元素
bool isRemoved = nameList.Remove("李四");
// isRemoved为true,此时nameList包含元素:张三,王五,李四

清空所有元素

如果需要删除List中的所有元素,可以使用Clear方法,调用后List的长度会变为0。

List<int> numList = new List<int>() { 1, 2, 3, 4 };
// 清空所有元素
numList.Clear();
// 此时numList为空,长度为0

List的排序操作

List的排序可以通过Sort方法实现,默认会按照元素的默认比较规则进行升序排序,也支持自定义排序规则。

默认升序排序

对于int、string等内置类型,Sort方法会按照默认的升序规则排序,比如int从小到大,string按字母顺序。

List<int> numList = new List<int>() { 5, 2, 8, 1, 3 };
// 默认升序排序
numList.Sort();
// 此时numList包含元素:1,2,3,5,8

List<string> nameList = new List<string>() { "王五", "张三", "李四" };
// 字符串默认按拼音升序排序
nameList.Sort();
// 此时nameList包含元素:李四,王五,张三

自定义排序规则

如果默认排序规则不满足需求,可以给Sort方法传入一个比较委托,自定义两个元素的比较逻辑。

List<int> numList = new List<int>() { 5, 2, 8, 1, 3 };
// 自定义降序排序规则:如果x大于y返回-1,实现降序
numList.Sort((x, y) => {
    if (x > y) return -1;
    if (x < y) return 1;
    return 0;
});
// 此时numList包含元素:8,5,3,2,1

操作注意事项

在对List进行删除操作时,要注意避免在遍历过程中直接删除元素,否则可能会导致索引错乱或者漏删元素,正确的做法可以先记录要删除的索引或者元素,遍历完成后再统一删除,或者使用倒序遍历的方式删除。

另外List的Sort方法是原地排序,会直接修改原List的元素顺序,如果需要保留原List的顺序,可以先复制一份List再对新副本进行排序。

C#List添加操作删除操作排序操作修改时间:2026-07-20 08:18:24

免责声明:​ 已尽一切努力确保本网站所含信息的准确性。网站内容多为原创整理与精心编撰,观点力求客观中立。本站旨在免费分享,内容仅供个人学习、研究或参考使用。若引用了第三方作品,版权归原作者所有。如内容涉及您的权益,请联系我们处理。
内容垂直聚焦
专注技术核心技术栏目,确保每篇文章深度聚焦于实用技能。从代码技巧到架构设计,为用户提供无干扰的纯技术知识沉淀,精准满足专业提升需求。
知识结构清晰
覆盖从开发到部署的全链路。AI、前端、编程、数据库、服务器、建站、系统层层递进,构建清晰学习路径,帮助用户系统化掌握开发与运维所需的核心技术。
深度技术解析
拒绝泛泛而谈,深入技术细节与实践难点。无论是数据库优化还是服务器配置,均结合真实场景与代码示例进行剖析,致力于提供可直接应用于工作的解决方案。
专业领域覆盖
精准对应开发生命周期。从前端界面到后端编程,从数据库操作到服务器运维,形成完整闭环,一站式满足全栈工程师和运维人员的技术需求。
即学即用高效
内容强调实操性,步骤清晰、代码完整。用户可根据教程直接复现和应用于自身项目,显著缩短从学习到实践的距离,快速解决开发中的具体问题。
持续更新保障
专注既定技术方向进行长期、稳定的内容输出。确保各栏目技术文章持续更新迭代,紧跟主流技术发展趋势,为用户提供经久不衰的学习价值。