Dictionary<TKey, TValue>.IDictionary.Contains Method
Microsoft Silverlight will reach end of support after October 2021. Learn more.
Determines whether the IDictionary contains an element with the specified key.
Namespace: System.Collections.Generic
Assembly: mscorlib (in mscorlib.dll)
Syntax
'Declaration
Private Function Contains ( _
key As Object _
) As Boolean Implements IDictionary.Contains
bool IDictionary.Contains(
Object key
)
Parameters
- key
Type: System.Object
The key to locate in the IDictionary.
Return Value
Type: System.Boolean
true if the IDictionary contains an element with the specified key; otherwise, false.
Implements
Exceptions
Exception | Condition |
---|---|
ArgumentNullException | key is nulla null reference (Nothing in Visual Basic). |
Remarks
This method returns false if key is of a type that is not assignable to the key type TKey of the Dictionary<TKey, TValue>.
This method approaches an O(1) operation.
Examples
The following code example shows how to use the IDictionary.Contains method of the System.Collections.IDictionary interface with a Dictionary<TKey, TValue>. The example demonstrates that the method returns false if a key of the wrong data type is supplied.
The code example is part of a larger example, including output, provided for the IDictionary.Add method.
Imports System.Collections
Imports System.Collections.Generic
Public Class Example
Public Shared Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
' Create a new dictionary of strings, with string keys,
' and access it using the IDictionary interface.
'
Dim openWith As IDictionary = _
New Dictionary(Of String, String)
' Add some elements to the dictionary. There are no
' duplicate keys, but some of the values are duplicates.
' IDictionary.Add throws an exception if incorrect types
' are supplied for key or value.
openWith.Add("txt", "notepad.exe")
openWith.Add("bmp", "paint.exe")
openWith.Add("dib", "paint.exe")
openWith.Add("rtf", "wordpad.exe")
...
' Contains can be used to test keys before inserting
' them.
If Not openWith.Contains("ht") Then
openWith.Add("ht", "hypertrm.exe")
outputBlock.Text &= String.Format("Value added for key = ""ht"": {0}", _
openWith("ht")) & vbCrLf
End If
' IDictionary.Contains returns False if the wrong data
' type is supplied.
outputBlock.Text &= String.Format("openWith.Contains(29.7) returns {0}", _
openWith.Contains(29.7))
...
End Sub
End Class
using System;
using System.Collections;
using System.Collections.Generic;
public class Example
{
public static void Demo(System.Windows.Controls.TextBlock outputBlock)
{
// Create a new dictionary of strings, with string keys,
// and access it using the IDictionary interface.
//
IDictionary openWith = new Dictionary<string, string>();
// Add some elements to the dictionary. There are no
// duplicate keys, but some of the values are duplicates.
// IDictionary.Add throws an exception if incorrect types
// are supplied for key or value.
openWith.Add("txt", "notepad.exe");
openWith.Add("bmp", "paint.exe");
openWith.Add("dib", "paint.exe");
openWith.Add("rtf", "wordpad.exe");
...
// Contains can be used to test keys before inserting
// them.
if (!openWith.Contains("ht"))
{
openWith.Add("ht", "hypertrm.exe");
outputBlock.Text += String.Format("Value added for key = \"ht\": {0}",
openWith["ht"]) + "\n";
}
// IDictionary.Contains returns false if the wrong data
// type is supplied.
outputBlock.Text += String.Format("openWith.Contains(29.7) returns {0}",
openWith.Contains(29.7)) + "\n";
...
}
}
Version Information
Silverlight
Supported in: 5, 4, 3
Silverlight for Windows Phone
Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0
XNA Framework
Supported in: Xbox 360, Windows Phone OS 7.0
Platforms
For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.