DictionaryEntry Structure
Defines a dictionary key/value pair that can be set or retrieved.
Assembly: mscorlib (in mscorlib.dll)
| Name | Description | |
|---|---|---|
![]() | DictionaryEntry(Object, Object) | Initializes an instance of the DictionaryEntry type with the specified key and value. |
| Name | Description | |
|---|---|---|
![]() | Equals(Object) | Indicates whether this instance and a specified object are equal.(Inherited from ValueType.) |
![]() | GetHashCode() | Returns the hash code for this instance.(Inherited from ValueType.) |
![]() | GetType() | |
![]() | ToString() | Returns the fully qualified type name of this instance.(Inherited from ValueType.) |
The IDictionaryEnumerator.Entry method returns an instance of this type.
The foreach statement of the C# language (for each in Visual C++, For Each in Visual Basic) requires the type of each element in the collection. Since each element of the IDictionary is a key/value pair, the element type is not the type of the key or the type of the value. Instead, the element type is DictionaryEntry. For example:
For Each de As DictionaryEntry In openWith Console.WriteLine("Key = {0}, Value = {1}", _ de.Key, de.Value) Next de
The foreach statement is a wrapper around the enumerator, which only allows reading from, not writing to, the collection.
The following example demonstrates the use of DictionaryEntry to iterate through a Hashtable object.
'A simple example for the DictionaryEntry structure. Imports System Imports System.Collections Imports Microsoft.VisualBasic Module Example Sub Main() ' Create a new hash table. ' Dim openWith As New Hashtable() ' Add some elements to the hash table. There are no ' duplicate keys, but some of the values are duplicates. openWith.Add("txt", "notepad.exe") openWith.Add("bmp", "paint.exe") openWith.Add("dib", "paint.exe") openWith.Add("rtf", "wordpad.exe") ' When you use For Each to enumerate hash table elements, ' the elements are retrieved as DictionaryEntry objects. Console.WriteLine() For Each de As DictionaryEntry In openWith Console.WriteLine("Key = {0}, Value = {1}", _ de.Key, de.Value) Next de End Sub End Module ' This code example produces output similar to the following: ' 'Key = rtf, Value = wordpad.exe 'Key = txt, Value = notepad.exe 'Key = dib, Value = paint.exe 'Key = bmp, Value = paint.exe
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Silverlight
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Any public static ( Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

