    

 ## On this page

  

 

 #  Class ObservableConcurrentDictionary&lt;TKey, TValue\\&gt;

 Last update: 16.07.2025 

Namespace: [VM.Collections](VM.Collections.md)  
Assembly: VM.dll

```csharp
public class ObservableConcurrentDictionary<tkey tvalue>

```

#### Type Parameters

`TKey`

`TValue`

#### Inheritance

[object](https://learn.microsoft.com/dotnet/api/system.object) ← [ObservableConcurrentDictionary](VM.Collections.ObservableConcurrentDictionary-2.md)

#### Extension Methods

[LinkPropertyItemCache.GetLinkProperties(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkProperties_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkPropertiesAndValues(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkPropertiesAndValues_System_Object_VM_Models_Pre_LinkPropertyType_), [LinkPropertyItemCache.GetLinkedObjects(object, LinkPropertyType)](VM.Models.Pre.Cache.LinkPropertyItemCache.md#VM_Models_Pre_Cache_LinkPropertyItemCache_GetLinkedObjects__1_System_Object_VM_Models_Pre_LinkPropertyType_)

## Constructors

### <a id="VM_Collections_ObservableConcurrentDictionary_2__ctor"></a> ObservableConcurrentDictionary()

```csharp
public ObservableConcurrentDictionary()

```

## Properties

### <a id="VM_Collections_ObservableConcurrentDictionary_2_Count"></a> Count

```csharp
public int Count { get; }

```

#### Property Value

[int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_IsReadOnly"></a> IsReadOnly

```csharp
public bool IsReadOnly { get; }

```

#### Property Value

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_Keys"></a> Keys

```csharp
public ICollection<tkey> Keys { get; }

```

#### Property Value

[ICollection](https://learn.microsoft.com/dotnet/api/system.collections.generic.icollection-1)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_Values"></a> Values

```csharp
public ICollection<tvalue> Values { get; }

```

#### Property Value

[ICollection](https://learn.microsoft.com/dotnet/api/system.collections.generic.icollection-1)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_Item__0_"></a> this\[TKey\]

```csharp
public TValue this[TKey key] { get; set; }

```

#### Property Value

TValue

## Methods

### <a id="VM_Collections_ObservableConcurrentDictionary_2___OnPropertyChanged_System_ComponentModel_PropertyChangedEventArgs_"></a> &amp;gt;OnPropertyChanged(PropertyChangedEventArgs)

```csharp
protected void &gt;OnPropertyChanged(PropertyChangedEventArgs eventArgs)

```

#### Parameters

`eventArgs` [PropertyChangedEventArgs](https://learn.microsoft.com/dotnet/api/system.componentmodel.propertychangedeventargs)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_Add__0__1_"></a> Add(TKey, TValue)

```csharp
public void Add(TKey key, TValue value)

```

#### Parameters

`key` TKey

`value` TValue

### <a id="VM_Collections_ObservableConcurrentDictionary_2_Clear"></a> Clear()

```csharp
public void Clear()

```

### <a id="VM_Collections_ObservableConcurrentDictionary_2_Contains_System_Collections_Generic_KeyValuePair__0__1__"></a> Contains(KeyValuePair)

```csharp
public bool Contains(KeyValuePair<tkey tvalue> item)

```

#### Parameters

`item` [KeyValuePair](https://learn.microsoft.com/dotnet/api/system.collections.generic.keyvaluepair-2)

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_ContainsKey__0_"></a> ContainsKey(TKey)

```csharp
public bool ContainsKey(TKey key)

```

#### Parameters

`key` TKey

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_CopyTo_System_Collections_Generic_KeyValuePair__0__1____System_Int32_"></a> CopyTo(KeyValuePair\[\], int)

```csharp
public void CopyTo(KeyValuePair<tkey tvalue>[] array, int arrayIndex)

```

#### Parameters

`array` [KeyValuePair](https://learn.microsoft.com/dotnet/api/system.collections.generic.keyvaluepair-2)\[\]

`arrayIndex` [int](https://learn.microsoft.com/dotnet/api/system.int32)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_GetEnumerator"></a> GetEnumerator()

```csharp
public IEnumerator GetEnumerator()

```

#### Returns

[IEnumerator](https://learn.microsoft.com/dotnet/api/system.collections.ienumerator)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_Remove__0_"></a> Remove(TKey)

```csharp
public bool Remove(TKey key)

```

#### Parameters

`key` TKey

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_TryGetValue__0__1__"></a> TryGetValue(TKey, out TValue)

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

```

#### Parameters

`key` TKey

`value` TValue

#### Returns

[bool](https://learn.microsoft.com/dotnet/api/system.boolean)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_CollectionChanged"></a> CollectionChanged

```csharp
public event NotifyCollectionChangedEventHandler CollectionChanged

```

#### Event Type

[NotifyCollectionChangedEventHandler](https://learn.microsoft.com/dotnet/api/system.collections.specialized.notifycollectionchangedeventhandler)

### <a id="VM_Collections_ObservableConcurrentDictionary_2_PropertyChanged"></a> PropertyChanged

```csharp
public event PropertyChangedEventHandler PropertyChanged

```

#### Event Type

[PropertyChangedEventHandler](https://learn.microsoft.com/dotnet/api/system.componentmodel.propertychangedeventhandler)