前言
Dictionary
是 C# 中的一种集合类型,用于存储键值对。
以下是关于 Dictionary
的说明:
定义:
Dictionary<TKey, TValue>
是泛型类型,其中 TKey
表示键的类型,TValue
表示值的类型。
它实现了 IDictionary<TKey, TValue>
接口。
特点:
- 键是唯一的,每个键最多只能关联一个值。
- 键和值可以是任意类型,包括值类型和引用类型。
- 内部使用哈希表实现,使得在大多数情况下,查找键值对的操作具有很高的性能。
用法:
- 添加键值对:使用
Add
方法或直接通过索引器语法添加。 - 访问值:通过键来获取相应的值。
- 删除键值对:使用
Remove
方法来删除指定键的键值对。 - 判断键是否存在:使用
ContainsKey
方法来检查指定的键是否存在于字典中。 - 遍历字典:可以使用
foreach
循环遍历字典中的所有键值对,或者通过Keys
和Values
属性分别获取键集合和值集合。
注意事项:
Dictionary
不保证键值对的顺序,键值对在内部存储时可能会重新排列。- 如果需要按照键的顺序访问键值对,可以考虑使用
SortedDictionary
。
Dictionary
是 C# 中常用的数据结构之一,适用于需要快速查找、添加和删除键值对的场景。
初始化
无序的字典
代码语言:javascript复制private readonly Dictionary<string, int> _selectMap = new Dictionary<string,int>();
有序的字典
默认按照键的自然顺序进行排序
代码语言:javascript复制private readonly SortedDictionary<string, int> _selectMap = new SortedDictionary<string,int>();
清空
代码语言:javascript复制_selectMap.Clear();
Key
获取某个索引的Key
代码语言:javascript复制var _selectMap = new Dictionary<string, int>
{
{ "A", 10 },
{ "B", 20 },
{ "C", 15 },
{ "D", 25 }
};
string[] keys = new string[_selectMap.Count];
_selectMap.Keys.CopyTo(keys, 0);
Value
Value中的最大值
代码语言:javascript复制_selectMap.Values.Max()