Skip to content

EngineCommon · 其他 ​

ValueKeyDictionary 双端 ​

命名空间 EngineCommon.Collection

csharp
public class ValueKeyDictionary<TKey, TValue> : IDictionary<TKey, TValue>, ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, IReadOnlyDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>> where TKey : struct

针对值类型键的高性能字典实现,比.NET自带的Dictionary性能更好,尤其是在Get操作上。只比较key的哈希,不比较key的值。

构造函数 ​

ValueKeyDictionary 双端 ​

csharp
public ValueKeyDictionary()

ValueKeyDictionary 双端 ​

csharp
public ValueKeyDictionary(int capacity)

属性 ​

Count 双端 ​

csharp
public int Count { get; }

Keys 双端 ​

csharp
public ICollection<TKey> Keys { get; }

Values 双端 ​

csharp
public ICollection<TValue> Values { get; }

IsReadOnly 双端 ​

csharp
public bool IsReadOnly { get; }

方法 ​

Add 双端 ​

csharp
public void Add(TKey key, TValue value)

Clear 双端 ​

csharp
public void Clear()

ContainsKey 双端 ​

csharp
public bool ContainsKey(TKey key)

Remove 双端 ​

csharp
public bool Remove(TKey key)

TryGetValue 双端 ​

csharp
public bool TryGetValue(TKey key, out TValue value)

Add 双端 ​

csharp
public void Add(KeyValuePair<TKey, TValue> item)

Contains 双端 ​

csharp
public bool Contains(KeyValuePair<TKey, TValue> item)

CopyTo 双端 ​

csharp
public void CopyTo(KeyValuePair<TKey, TValue>[] array, int arrayIndex)

Remove 双端 ​

csharp
public bool Remove(KeyValuePair<TKey, TValue> item)

GetEnumerator 双端 ​

csharp
public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator()

索引器 ​

this[] 双端 ​

csharp