List相关

List 常用方法速查表(C#)

方法 参数 功能说明 示例代码
Add T item 在列表末尾添加元素 numbers.Add(5);
AddRange IEnumerable<T> collection 在列表末尾添加多个元素 numbers.AddRange(new int[]{1,2,3});
Insert int index, T item 在指定索引插入元素 numbers.Insert(1, 99);
InsertRange int index, IEnumerable<T> collection 在指定索引插入多个元素 numbers.InsertRange(2, new int[]{7,8});
Remove T item 删除列表中第一个匹配的元素 numbers.Remove(3);
RemoveAt int index 删除指定索引的元素 numbers.RemoveAt(0);
RemoveRange int index, int count 删除从索引开始的指定数量元素 numbers.RemoveRange(0, 2); // 删除索引0和1
RemoveAll Predicate<T> match 删除所有符合条件的元素 numbers.RemoveAll(x => x > 5);
Clear - 清空列表所有元素 numbers.Clear();
Contains T item 判断列表是否包含指定元素 if(numbers.Contains(5)) ...
Count - 列表中元素个数 int n = numbers.Count;
Sort - / Comparison<T> / IComparable<T> 排序列表,可使用默认排序、实现 IComparable 或委托函数 numbers.Sort();
items.Sort(); // Item实现IComparable
shopItems.Sort((a,b)=>a.id-b.id); // Lambda委托
Reverse - 反转列表顺序 numbers.Reverse();
ToArray - 转换为数组 int[] arr = numbers.ToArray();

Sort 精炼说明

  1. 默认排序:适用于 intstring 等基本类型,升序排列。
List<int> numbers = new List<int>{3,1,4,2};
numbers.Sort(); // 升序 1,2,3,4
  1. 自定义类实现 IComparable:在类中定义 CompareTo 方法,实现排序逻辑。
class Item : IComparable<Item>
{
    public int money;
    public Item(int money){ this.money = money; }
    public int CompareTo(Item other) => this.money - other.money; // 升序
}
List<Item> items = new List<Item>{new Item(4), new Item(2)};
items.Sort(); // 调用 CompareTo 排序
  1. 使用委托函数 / Lambda:快速自定义排序规则,最常用。
List<ShopItem> shopItems = new List<ShopItem>{new ShopItem(3), new ShopItem(1)};
shopItems.Sort((a,b) => a.id - b.id); // 升序

RemoveRange 示例

List<int> numbers = new List<int>{1,2,3,4,5,6};
//参数一index:开始删除的起始索引
//参数二count:从起始索引开始,删除的元素数量
numbers.RemoveRange(2, 3); // 删除索引2、3、4的元素 => 1,2,6

常用于排行榜、列表限制条数等场景。

posted @ 2025-12-03 14:20  高山仰止666  阅读(1)  评论(0)    收藏  举报