C#如何使用List泛型集合 C# List常用操作方法汇总

18次阅读

List是C#中基于动态数组实现的泛型集合,支持快速随机访问、自动扩容和类型安全;核心操作包括初始化、增删查改、遍历转换与排序,各方法均有明确适用场景。

C#如何使用List泛型集合 C# List常用操作方法汇总

C# 中 List 是最常用、最灵活的泛型集合之一,它底层基于动态数组实现,支持快速随机访问、自动扩容,且类型安全。掌握它的核心操作,能大幅提高开发效率和代码可读性

初始化与添加元素

创建 List 时需指定具体类型,避免装箱拆箱,也杜绝运行时类型错误。

  • 空列表: var list = new List();
  • 带初始容量(减少扩容次数): var list = new List(10);
  • 初始化并赋值(C# 3.0+): var list = new List { “a”, “b”, “c” };
  • 添加单个: list.Add(“newItem”);
  • 批量添加: list.AddRange(otherList);

查找与判断存在性

别总用 for 循环遍历找元素——List 提供了语义清晰、性能良好的内置方法。

  • 判断是否包含某值: list.Contains(“target”);(注意:引用类型默认用 Equals 比较)
  • 查找首个匹配项: list.Find(x => x.Length > 5);
  • 查找所有匹配项: list.FindAll(x => x.StartsWith(“A”));
  • 获取匹配项索引: list.FindIndex(x => x == “abc”);(找不到返回 -1)
  • 检查是否存在满足条件的元素: list.Exists(x => x % 2 == 0);

修改、删除与清空

删除操作要特别注意索引变化,避免“越界”或漏删;修改推荐直接通过索引赋值,高效又直观。

  • 按索引修改: list[0] = “updated”;
  • 移除指定值(只删第一个匹配项): list.Remove(“old”);
  • 按索引移除: list.RemoveAt(2);
  • 移除满足条件的所有项: list.RemoveAll(x => x
  • 清空全部: list.Clear();

遍历、转换与排序

优先使用 foreachlinq 方法,语义明确、不易出错;排序前确认数据可比较,必要时提供 IComparer 或 Lambda

  • 安全遍历(不修改集合): foreach (var item in list) { … }
  • 转为数组: String[] arr = list.ToArray();
  • 转为只读包装(防止意外修改): IReadOnlyList readOnly = list.AsReadOnly();
  • 升序排序: list.sort();(T 需实现 IComparable)
  • 自定义排序: list.Sort((a, b) => b.Length.CompareTo(a.Length));
  • 反转顺序: list.Reverse();(就地反转)

基本上就这些——List 的操作看似简单,但每个方法背后都有明确的设计意图和适用边界。用对方法,比手写循环更可靠,也更容易被团队理解。

text=ZqhQzanResources