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实现IComparableshopItems.Sort((a,b)=>a.id-b.id); // Lambda委托 |
Reverse |
- | 反转列表顺序 | numbers.Reverse(); |
ToArray |
- | 转换为数组 | int[] arr = numbers.ToArray(); |
Sort 精炼说明
- 默认排序:适用于
int、string等基本类型,升序排列。
List<int> numbers = new List<int>{3,1,4,2};
numbers.Sort(); // 升序 1,2,3,4
- 自定义类实现 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 排序
- 使用委托函数 / 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
常用于排行榜、列表限制条数等场景。

浙公网安备 33010602011771号