C#教程

关注公众号 jb51net

关闭
首页 > 软件编程 > C#教程 > C# List<T>

C#中List<T>泛型集合类的全面解析与应用

作者:离陌在学C#

在C#中,List<T>是一个非常常用的泛型集合类,属于System.Collections.Generic命名空间,下面,我们将详细解析List<T>的特性、使用方法、以及一些高级应用

在C#中,List<T> 是一个非常常用的泛型集合类,属于 System.Collections.Generic 命名空间。List<T> 提供了一种灵活的方式来存储和管理一组元素,这些元素可以是任何类型的对象。下面,我们将详细解析 List<T> 的特性、使用方法、以及一些高级应用。

1. 什么是 List<T>?

List<T> 是 C# 中最常用的泛型集合类,位于 System.Collections.Generic 命名空间。它代表一个强类型、可动态调整大小的对象列表,提供了丰富的操作方法,是数组(Array)的现代化替代品。

2. List<T> 的核心特性

3. 基本用法示例

3.1 创建与初始化

// 创建空列表
List<string> names = new List<string>();
// 创建并初始化
List<int> numbers = new List<int> { 1, 2, 3, 4, 5 };
// 指定初始容量(优化性能)
List<double> values = new List<double>(100);

3.2 添加元素

List<string> fruits = new List<string>();
fruits.Add("Apple");      // 添加单个元素
fruits.AddRange(new string[] { "Banana", "Orange" }); // 添加多个元素
fruits.Insert(1, "Mango"); // 在指定位置插入

3.3 访问与修改

List<int> scores = new List<int> { 85, 92, 78 };
int firstScore = scores[0];  // 85
scores[1] = 95;              // 修改第二个元素
// 遍历列表
foreach (int score in scores)
{
    Console.WriteLine(score);
}
// 使用 ForEach 方法
scores.ForEach(s => Console.WriteLine($"Score: {s}"));

3.4 删除元素

List<string> colors = new List<string> { "Red", "Green", "Blue", "Red" };
colors.Remove("Red");        // 删除第一个匹配项
colors.RemoveAt(0);          // 删除指定位置的元素
colors.RemoveAll(c => c.StartsWith("B")); // 删除所有满足条件的元素
colors.Clear();              // 清空列表

4. 常用方法与属性

方法/属性说明示例
Count获取元素数量int count = list.Count;
Add(T item)添加元素到末尾list.Add("item");
AddRange(IEnumerable<T>)添加多个元素list.AddRange(array);
Insert(int index, T item)在指定位置插入list.Insert(0, "first");
Remove(T item)删除第一个匹配项list.Remove("target");
RemoveAt(int index)删除指定位置元素list.RemoveAt(0);
Contains(T item)检查是否包含元素bool has = list.Contains("x");
IndexOf(T item)查找元素索引int idx = list.IndexOf("x");
Sort()排序(默认升序)list.Sort();
Reverse()反转元素顺序list.Reverse();
ToArray()转换为数组T[] arr = list.ToArray();

5. 性能优化技巧

6. 与数组(Array)的比较

特性List<T>Array
大小动态调整固定长度
性能插入/删除可能需移动元素随机访问最快
内存有额外开销(容量管理)最紧凑
功能丰富的内置方法基本操作
适用场景元素数量变化频繁大小固定、性能要求高

7. 实际应用场景

7.1 数据收集与处理

// 从数据库读取用户列表
List<User> users = dbContext.Users.ToList();
// 使用 LINQ 筛选
List<User> activeUsers = users
    .Where(u => u.IsActive)
    .OrderBy(u => u.Name)
    .ToList();

7.2 缓存管理

public class CacheManager<T>
{
    private List<T> _cache = new List<T>();
    public void AddItem(T item) => _cache.Add(item);
    public T GetItem(Predicate<T> match) => _cache.Find(match);
}

8. 总结

List<T> 是 C# 开发中不可或缺的集合类型,它结合了数组的索引访问优势和动态集合的灵活性。掌握其基本操作、性能特性和适用场景,能显著提升代码质量和开发效率。在实际项目中,应根据具体需求选择合适的集合类型,List<T> 通常是处理可变序列时的首选。

到此这篇关于C#中List<T>泛型集合类的全面解析与应用的文章就介绍到这了,更多相关C# List<T>内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:
阅读全文