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

Return Value

Type: System.Boolean
true if the IDictionary contains an element with the specified key; otherwise, false.

Implements

IDictionary.Contains(Object)

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.