DoubleMapDictionary<TK, TV> 类
可以实现双向映射的字典类,用于将键和值进行双向映射。
继承成员
命名空间: Fantasy.DataStructure.Dictionary
程序集: Fantasy.Net.dll
语法
public class DoubleMapDictionary<TK, TV> where TK : notnull where TV : notnull
类型参数
名称 | 描述 |
---|---|
TK | 键的类型,不能为 null。 |
TV | 值的类型,不能为 null。 |
构造函数
| 编辑本文 查看源代码DoubleMapDictionary()
创建一个新的空的 DoubleMapDictionary<TK, TV> 实例。
声明
public DoubleMapDictionary()
DoubleMapDictionary(int)
创建一个新的具有指定初始容量的 DoubleMapDictionary<TK, TV> 实例。
声明
public DoubleMapDictionary(int capacity)
参数
类型 | 名称 | 描述 |
---|---|---|
int | capacity | 初始容量。 |
属性
| 编辑本文 查看源代码Keys
获取包含字典中所有键的列表。
声明
public List<TK> Keys { get; }
属性值
类型 | 描述 |
---|---|
List<TK> |
Values
获取包含字典中所有值的列表。
声明
public List<TV> Values { get; }
属性值
类型 | 描述 |
---|---|
List<TV> |
方法
| 编辑本文 查看源代码Add(TK, TV)
将指定的键值对添加到字典中。
声明
public void Add(TK key, TV value)
参数
类型 | 名称 | 描述 |
---|---|---|
TK | key | 要添加的键。 |
TV | value | 要添加的值。 |
Clear()
清空字典中的所有键值对。
声明
public void Clear()
Contains(TK, TV)
判断字典是否包含指定的键值对。
声明
public bool Contains(TK key, TV value)
参数
类型 | 名称 | 描述 |
---|---|---|
TK | key | 要检查的键。 |
TV | value | 要检查的值。 |
返回
类型 | 描述 |
---|---|
bool | 如果字典包含指定的键值对,则为 true;否则为 false。 |
ContainsKey(TK)
判断字典是否包含指定的键。
声明
public bool ContainsKey(TK key)
参数
类型 | 名称 | 描述 |
---|---|---|
TK | key | 要检查的键。 |
返回
类型 | 描述 |
---|---|
bool | 如果字典包含指定的键,则为 true;否则为 false。 |
ContainsValue(TV)
判断字典是否包含指定的值。
声明
public bool ContainsValue(TV value)
参数
类型 | 名称 | 描述 |
---|---|---|
TV | value | 要检查的值。 |
返回
类型 | 描述 |
---|---|
bool | 如果字典包含指定的值,则为 true;否则为 false。 |
ForEach(Action<TK, TV>)
对字典中的每个键值对执行指定的操作。
声明
public void ForEach(Action<TK, TV> action)
参数
类型 | 名称 | 描述 |
---|---|---|
Action<TK, TV> | action | 要执行的操作。 |
GetKeyByValue(TV)
根据指定的值获取相应的键。
声明
public TK GetKeyByValue(TV value)
参数
类型 | 名称 | 描述 |
---|---|---|
TV | value | 要查找键的值。 |
返回
类型 | 描述 |
---|---|
TK | 与指定值关联的键,如果找不到值,则返回默认键。 |
GetValueByKey(TK)
根据指定的键获取相应的值。
声明
public TV GetValueByKey(TK key)
参数
类型 | 名称 | 描述 |
---|---|---|
TK | key | 要查找值的键。 |
返回
类型 | 描述 |
---|---|
TV | 与指定键关联的值,如果找不到键,则返回默认值。 |
RemoveByKey(TK)
根据指定的键移除键值对。
声明
public void RemoveByKey(TK key)
参数
类型 | 名称 | 描述 |
---|---|---|
TK | key | 要移除的键。 |
RemoveByValue(TV)
根据指定的值移除键值对。
声明
public void RemoveByValue(TV value)
参数
类型 | 名称 | 描述 |
---|---|---|
TV | value | 要移除的值。 |
TryGetKeyByValue(TV, out TK)
尝试根据指定的值获取相应的键。
声明
public bool TryGetKeyByValue(TV value, out TK key)
参数
类型 | 名称 | 描述 |
---|---|---|
TV | value | 要查找键的值。 |
TK | key | 如果找到,则为与指定值关联的键;否则为键的默认值。 |
返回
类型 | 描述 |
---|---|
bool | 如果找到值,则为 true;否则为 false。 |
TryGetValueByKey(TK, out TV)
尝试根据指定的键获取相应的值。
声明
public bool TryGetValueByKey(TK key, out TV value)
参数
类型 | 名称 | 描述 |
---|---|---|
TK | key | 要查找值的键。 |
TV | value | 如果找到,则为与指定键关联的值;否则为值的默认值。 |
返回
类型 | 描述 |
---|---|
bool | 如果找到键,则为 true;否则为 false。 |