Dictionary<TKey, TValue>.ICollection.IsSynchronized Property

Gets a value indicating whether access to the ICollection is synchronized (thread safe).

Namespace:  System.Collections.Generic
Assemblies:   mscorlib (in mscorlib.dll)
  System.Collections (in System.Collections.dll)

bool ICollection.IsSynchronized { get; }

Property Value

Type: System.Boolean
true if access to the ICollection is synchronized (thread safe); otherwise, false. In the default implementation of Dictionary<TKey, TValue>, this property always returns false.

Implements

ICollection.IsSynchronized

Default implementations of collections in the System.Collections.Generic namespace are not synchronized.

Enumerating through a collection is intrinsically not a thread-safe procedure. Even when a collection is synchronized, other threads can still modify the collection, which can cause the enumerator to throw an exception. To guarantee thread safety during enumeration, you can either lock the collection during the entire enumeration or catch the exceptions resulting from changes made by other threads.

The SyncRoot property returns an object that can be used to synchronize access to the ICollection. Synchronization is effective only if all threads lock the object before accessing the collection.

Getting the value of this property is an O(1) operation.

.NET Framework

Supported in: 4.6, 4.5, 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

XNA Framework

Supported in: 3.0, 2.0, 1.0

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone Silverlight 8.1, Windows Phone Silverlight 8

Portable Class Library

Supported in: Portable Class Library
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback
Show:
© 2015 Microsoft