Dictionary<TKey, TValue>.ContainsKey Method
Determines whether the Dictionary<TKey, TValue> contains the specified key.
Namespace: System.Collections.Generic
Assembly: mscorlib (in mscorlib.dll)
Parameters
- key
- Type: TKey
The key to locate in the Dictionary<TKey, TValue>.
Return Value
Type: System.Booleantrue 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)
| Exception | Condition |
|---|---|
| ArgumentNullException | key is null. |
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."); }
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.