C# Api知识点
·

一、List<T> 泛型集合(线性有序容器)
1. 实例化(构造函数)
三种基础创建方式:
csharp
运行
// 1. 创建空列表
List<int> list1 = new List<int>();
// 2. 指定初始容量(减少扩容损耗)
List<int> list2 = new List<int>(20);
// 3. 从已有集合复制创建
int[] arr = {1,2,3};
List<int> list3 = new List<int>(arr);
2. 常用属性
Count:获取集合实际存储元素个数Capacity:底层数组总容量,元素超量时自动翻倍扩容this[int index]:数字下标索引,直接通过索引读写元素
3. 常用实例方法
分为三大操作:
- 新增:
Add()、AddRange()、Insert() - 删除:
Remove()、RemoveAt()、Clear() - 查询修改:
IndexOf()、Contains()、Sort()、下标修改元素
4. 核心特点
- 实例类,
new一次后可反复增删改查同一容器 - 底层数组实现,支持动态扩容,长度不固定
- 优势:下标随机访问速度极快; 劣势:中间插入 / 删除元素需要移位,海量数据操作效率较差
二、Dictionary<TKey,TValue> 泛型字典(键值对哈希容器)
1. 实例化(构造函数)
三种创建方式:
csharp
运行
// 1. 创建空字典
Dictionary<string, int> dic1 = new Dictionary<string, int>();
// 2. 指定哈希桶初始容量
Dictionary<string, int> dic2 = new Dictionary<string, int>(50);
// 3. 复制已有字典创建
Dictionary<string, int> temp = new Dictionary<string, int>();
Dictionary<string, int> dic3 = new Dictionary<string, int>(temp);
2. 常用属性
Count:字典中键值对总数量Keys:获取全部键的集合DictionaryKeyCollectionValues:获取全部值的集合DictionaryValueCollectionthis[TKey key]:键索引器,可读可写;键不存在赋值会新增,取值会报错
3. 常用实例方法(高频)
- 新增 / 修改:
Add()、索引器赋值 - 删除:
Remove(key)、Clear() - 查询判断(高频):
ContainsKey(key)(判断键是否存在)、TryGetValue()(安全取值) - 遍历:搭配
foreach遍历键、值或键值对KeyValuePair
4. 核心特点
- 实例类,一次
new可反复读写 - 底层哈希表,按 Key 查询时间复杂度 O (1),查询速度极快
- 约束:
Key唯一不可重复,Value允许重复 - 无数字下标,只能通过 Key 访问数据,不支持按数字索引取值
三、List<T> 与 Dictionary<TKey,TValue> 选型对比总结
- 只存一组有序数据、需要按序号访问 → 选
List<T> - 需要根据唯一标识快速查找数据、键值对应存储 → 选
Dictionary<TKey,TValue> - 性能区分:
- List:索引读取快,中间增删慢;
- Dictionary:按键查找超快,无顺序索引概念
更多推荐
所有评论(0)