1 out of 2 rated this helpful - Rate this topic

Dictionary<TKey, TValue>.ContainsKey Method

Determines whether the Dictionary<TKey, TValue> contains the specified key.

Namespace:  System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)
public bool ContainsKey(
	TKey key
)

Parameters

key
Type: TKey

The key to locate in the Dictionary<TKey, TValue>.

Return Value

Type: System.Boolean
true if the Dictionary<TKey, TValue> contains an element with the specified key; otherwise, false.

Implements

IDictionary<TKey, TValue>.ContainsKey(TKey)
IReadOnlyDictionary<TKey, TValue>.ContainsKey(TKey)
ExceptionCondition
ArgumentNullException

key is null.

This method approaches an O(1) operation.

The following code example shows how to use the ContainsKey method to test whether a key exists prior to calling the Add method. It also shows how to use the TryGetValue method to retrieve values, which is an efficient way to retrieve values when a program frequently tries keys that are not in the dictionary. Finally, it shows the least efficient way to test whether keys exist, by using the Item property (the indexer in C#).

This code example is part of a larger example provided for the Dictionary<TKey, TValue> class.

// ContainsKey can be used to test keys before inserting  
// them. 
if (!openWith.ContainsKey("ht"))
{
    openWith.Add("ht", "hypertrm.exe");
    Console.WriteLine("Value added for key = \"ht\": {0}", 
        openWith["ht"]);
}


...


// When a program often has to try keys that turn out not to 
// be in the dictionary, TryGetValue can be a more efficient  
// way to retrieve values. 
string value = "";
if (openWith.TryGetValue("tif", out value))
{
    Console.WriteLine("For key = \"tif\", value = {0}.", value);
}
else
{
    Console.WriteLine("Key = \"tif\" is not found.");
}


...


// The indexer throws an exception if the requested key is 
// not in the dictionary. 
try
{
    Console.WriteLine("For key = \"tif\", value = {0}.", 
        openWith["tif"]);
}
catch (KeyNotFoundException)
{
    Console.WriteLine("Key = \"tif\" is not found.");
}

.NET Framework

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

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

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)
© 2013 Microsoft. All rights reserved.