← 返回首页
Dictionary<TKey,TValue>.ContainsKey(TKey) Method (System.Collections.Generic) | Microsoft Learn
Skip to main content Skip to in-page navigation
Table of contents Exit editor mode
Ask Learn Ask Learn
Reading mode Table of contents Add Add to plan Copy Markdown Print

Dictionary<TKey,TValue>.ContainsKey(TKey) Method

Definition

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

public: virtual bool ContainsKey(TKey key); public bool ContainsKey(TKey key); abstract member ContainsKey : 'Key -> bool override this.ContainsKey : 'Key -> bool Public Function ContainsKey (key As TKey) As Boolean

Parameters

key TKey

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

Returns

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

Implements

Exceptions

key is null.

Examples

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 (openWith is the name of the Dictionary used in this example).

// 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"]); } // ContainsKey can be used to test keys before inserting // them. if openWith.ContainsKey "ht" |> not then openWith.Add("ht", "hypertrm.exe") printfn $"""Value added for key = "ht": {openWith["ht"]}""" ' ContainsKey can be used to test keys before inserting ' them. If Not openWith.ContainsKey("ht") Then openWith.Add("ht", "hypertrm.exe") Console.WriteLine("Value added for key = ""ht"": {0}", _ openWith("ht")) End If // 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."); } // 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. match openWith.TryGetValue "tif" with | true, value -> printfn $"For key = \"tif\", value = {value}." | _ -> printfn "Key = \"tif\" is not found." ' 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. Dim value As String = "" If openWith.TryGetValue("tif", value) Then Console.WriteLine("For key = ""tif"", value = {0}.", value) Else Console.WriteLine("Key = ""tif"" is not found.") End If // 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."); } // The indexer throws an exception if the requested key is // not in the dictionary. try printfn $"""For key = "tif", value = {openWith["tif"]}""" with :? KeyNotFoundException -> printfn "Key = \"tif\" is not found." ' The default Item property throws an exception if the requested ' key is not in the dictionary. Try Console.WriteLine("For key = ""tif"", value = {0}.", _ openWith("tif")) Catch Console.WriteLine("Key = ""tif"" is not found.") End Try

Remarks

This method approaches an O(1) operation.

Applies to

See also

Feedback

Was this page helpful?

Yes No No