Dictionary<(Of <(TKey, TValue>)>).IDictionary.Contains Method

[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]

Determines whether the IDictionary contains an element with the specified key.

Namespace:  System.Collections.Generic
Assembly:  mscorlib (in mscorlib.dll)

Syntax

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 nullNothingnullptra 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<(Of <(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<(Of <(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

Windows Phone OS

Supported in: 8.1, 8.0, 7.1, 7.0

Platforms

Windows Phone

See Also

Reference

Dictionary<(Of <(TKey, TValue>)>) Class

System.Collections.Generic Namespace