<PackageReference Include="NETStandard.Library" Version="2.0.2" />

System.Collections.Concurrent.ConcurrentDictionary<TKey, TValue>

public class ConcurrentDictionary<TKey, TValue> : ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, IDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IReadOnlyDictionary<TKey, TValue>, ICollection, IDictionary
namespace System.Collections.Concurrent { public class ConcurrentDictionary<TKey, TValue> : ICollection<KeyValuePair<TKey, TValue>>, IEnumerable<KeyValuePair<TKey, TValue>>, IEnumerable, IDictionary<TKey, TValue>, IReadOnlyCollection<KeyValuePair<TKey, TValue>>, IReadOnlyDictionary<TKey, TValue>, ICollection, IDictionary { public int Count { get; } public bool IsEmpty { get; } public TValue this[TKey key] { get; set; } public ICollection<TKey> Keys { get; } object IDictionary.this[object key] { get; set; } public ICollection<TValue> Values { get; } public ConcurrentDictionary(); public ConcurrentDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection); public ConcurrentDictionary(IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey> comparer); public ConcurrentDictionary(IEqualityComparer<TKey> comparer); public ConcurrentDictionary(int concurrencyLevel, IEnumerable<KeyValuePair<TKey, TValue>> collection, IEqualityComparer<TKey> comparer); public ConcurrentDictionary(int concurrencyLevel, int capacity); public ConcurrentDictionary(int concurrencyLevel, int capacity, IEqualityComparer<TKey> comparer); public TValue AddOrUpdate(TKey key, TValue addValue, Func<TKey, TValue, TValue> updateValueFactory); public TValue AddOrUpdate(TKey key, Func<TKey, TValue> addValueFactory, Func<TKey, TValue, TValue> updateValueFactory); public void Clear(); public bool ContainsKey(TKey key); public IEnumerator<KeyValuePair<TKey, TValue>> GetEnumerator(); public TValue GetOrAdd(TKey key, TValue value); public TValue GetOrAdd(TKey key, Func<TKey, TValue> valueFactory); public KeyValuePair<TKey, TValue>[] ToArray(); public bool TryAdd(TKey key, TValue value); public bool TryGetValue(TKey key, out TValue value); public bool TryRemove(TKey key, out TValue value); public bool TryUpdate(TKey key, TValue newValue, TValue comparisonValue); } }