This topic has not yet been rated - Rate this topic

ConcurrentDictionary<TKey, TValue>.Keys Property

Gets a collection containing the keys in the Dictionary<TKey, TValue>.

Namespace:  System.Collections.Concurrent
Assembly:  mscorlib (in mscorlib.dll)
public ICollection<TKey> Keys { get; }

Property Value

Type: System.Collections.Generic.ICollection<TKey>
An ICollection<TKey> containing the keys in the Dictionary<TKey, TValue>.

Implements

IDictionary<TKey, TValue>.Keys

.NET Framework

Supported in: 4

.NET Framework Client Profile

Supported in: 4

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.
Did you find this helpful?
(1500 characters remaining)
Community Content Add
Annotations FAQ
Returns a snapshot/copy of the key collection

What will happen if you iterate on the collection, can it change in mid-iteration? The semantics are poorly document!
Reflector tells me that what actually happens is when you call .Keys, the dictionary is locked, all the keys are copied into a new list, and the result you get is that new list, a snapshot of the keys at the time you called .Keys.

Luckily that is just what I wanted.