NativeConcurrentDictionary<TKey, TValue> 结构
Native concurrentDictionary (Slower than ConcurrentDictionary)
命名空间: NativeCollections
程序集: Fantasy.Net.dll
语法
[StructLayout(LayoutKind.Sequential)]
public readonly struct NativeConcurrentDictionary<TKey, TValue> : IDisposable, IEquatable<NativeConcurrentDictionary<TKey, TValue>> where TKey : unmanaged, IEquatable<TKey> where TValue : unmanaged, IEquatable<TValue>
类型参数
名称 | 描述 |
---|---|
TKey | Type |
TValue | Type |
构造函数
| 编辑本文 查看源代码NativeConcurrentDictionary(int, int, int, int, bool)
Structure
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public NativeConcurrentDictionary(int size, int maxFreeSlabs, int concurrencyLevel, int capacity, bool growLockArray)
参数
类型 | 名称 | 描述 |
---|---|---|
int | size | Size |
int | maxFreeSlabs | Max free slabs |
int | concurrencyLevel | Concurrency level |
int | capacity | Capacity |
bool | growLockArray | Grow lock array |
属性
| 编辑本文 查看源代码Count
Count
声明
public int Count { get; }
属性值
类型 | 描述 |
---|---|
int |
Empty
Empty
声明
public static NativeConcurrentDictionary<TKey, TValue> Empty { get; }
属性值
类型 | 描述 |
---|---|
NativeConcurrentDictionary<TKey, TValue> |
IsCreated
Is created
声明
public bool IsCreated { get; }
属性值
类型 | 描述 |
---|---|
bool |
IsEmpty
Is created
声明
public bool IsEmpty { get; }
属性值
类型 | 描述 |
---|---|
bool |
this[TKey]
Get or set value
声明
public TValue this[in TKey key] { get; set; }
参数
类型 | 名称 | 描述 |
---|---|---|
TKey | key | Key |
属性值
类型 | 描述 |
---|---|
TValue |
Keys
Keys
声明
public NativeConcurrentDictionary<TKey, TValue>.KeyCollection Keys { get; }
属性值
类型 | 描述 |
---|---|
NativeConcurrentDictionary<TKey, TValue>.KeyCollection |
Values
Values
声明
public NativeConcurrentDictionary<TKey, TValue>.ValueCollection Values { get; }
属性值
类型 | 描述 |
---|---|
NativeConcurrentDictionary<TKey, TValue>.ValueCollection |
方法
| 编辑本文 查看源代码Clear()
Clear
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Clear()
ContainsKey(in TKey)
Contains key
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool ContainsKey(in TKey key)
参数
类型 | 名称 | 描述 |
---|---|---|
TKey | key | Key |
返回
类型 | 描述 |
---|---|
bool | Contains key |
Dispose()
Dispose
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public void Dispose()
Equals(NativeConcurrentDictionary<TKey, TValue>)
Equals
声明
public bool Equals(NativeConcurrentDictionary<TKey, TValue> other)
参数
类型 | 名称 | 描述 |
---|---|---|
NativeConcurrentDictionary<TKey, TValue> | other | Other |
返回
类型 | 描述 |
---|---|
bool | Equals |
Equals(object?)
Equals
声明
public override bool Equals(object? obj)
参数
类型 | 名称 | 描述 |
---|---|---|
object | obj | object |
返回
类型 | 描述 |
---|---|
bool | Equals |
重写
| 编辑本文 查看源代码GetEnumerator()
Get enumerator
声明
public NativeConcurrentDictionary<TKey, TValue>.Enumerator GetEnumerator()
返回
类型 | 描述 |
---|---|
NativeConcurrentDictionary<TKey, TValue>.Enumerator | Enumerator |
GetHashCode()
Get hashCode
声明
public override int GetHashCode()
返回
类型 | 描述 |
---|---|
int | HashCode |
重写
| 编辑本文 查看源代码GetOrAdd(in TKey, in TValue)
Get or add value
声明
public TValue GetOrAdd(in TKey key, in TValue value)
参数
类型 | 名称 | 描述 |
---|---|---|
TKey | key | Key |
TValue | value | Value |
返回
类型 | 描述 |
---|---|
TValue | Value |
ToString()
To string
声明
public override string ToString()
返回
类型 | 描述 |
---|---|
string | String |
重写
| 编辑本文 查看源代码TryAdd(in TKey, in TValue)
Try add
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool TryAdd(in TKey key, in TValue value)
参数
类型 | 名称 | 描述 |
---|---|---|
TKey | key | Key |
TValue | value | Value |
返回
类型 | 描述 |
---|---|
bool | Added |
TryGetValue(in TKey, out TValue)
Try to get the value
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool TryGetValue(in TKey key, out TValue value)
参数
类型 | 名称 | 描述 |
---|---|---|
TKey | key | Key |
TValue | value | Value |
返回
类型 | 描述 |
---|---|
bool | Got |
TryRemove(in KeyValuePair<TKey, TValue>)
Try remove
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool TryRemove(in KeyValuePair<TKey, TValue> keyValuePair)
参数
类型 | 名称 | 描述 |
---|---|---|
KeyValuePair<TKey, TValue> | keyValuePair | Key value pair |
返回
类型 | 描述 |
---|---|
bool | Removed |
TryRemove(in TKey, out TValue)
Try remove
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool TryRemove(in TKey key, out TValue value)
参数
类型 | 名称 | 描述 |
---|---|---|
TKey | key | Key |
TValue | value | Value |
返回
类型 | 描述 |
---|---|
bool | Removed |
TryUpdate(in TKey, in TValue, in TValue)
Try update
声明
[MethodImpl(MethodImplOptions.AggressiveInlining)]
public bool TryUpdate(in TKey key, in TValue newValue, in TValue comparisonValue)
参数
类型 | 名称 | 描述 |
---|---|---|
TKey | key | Key |
TValue | newValue | New value |
TValue | comparisonValue | Comparison value |
返回
类型 | 描述 |
---|---|
bool | Updated |
运算符
| 编辑本文 查看源代码operator ==(NativeConcurrentDictionary<TKey, TValue>, NativeConcurrentDictionary<TKey, TValue>)
Equals
声明
public static bool operator ==(NativeConcurrentDictionary<TKey, TValue> left, NativeConcurrentDictionary<TKey, TValue> right)
参数
类型 | 名称 | 描述 |
---|---|---|
NativeConcurrentDictionary<TKey, TValue> | left | Left |
NativeConcurrentDictionary<TKey, TValue> | right | Right |
返回
类型 | 描述 |
---|---|
bool | Equals |
operator !=(NativeConcurrentDictionary<TKey, TValue>, NativeConcurrentDictionary<TKey, TValue>)
Not equals
声明
public static bool operator !=(NativeConcurrentDictionary<TKey, TValue> left, NativeConcurrentDictionary<TKey, TValue> right)
参数
类型 | 名称 | 描述 |
---|---|---|
NativeConcurrentDictionary<TKey, TValue> | left | Left |
NativeConcurrentDictionary<TKey, TValue> | right | Right |
返回
类型 | 描述 |
---|---|
bool | Not equals |