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:
foreach (DictionaryEntry de in openWith) { Console.WriteLine("Key = {0}, Value = {1}", de.Key, de.Value); }
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. using System; using System.Collections; class Example { public static void Main() { // Create a new hash table. // Hashtable openWith = 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 foreach to enumerate hash table elements, // the elements are retrieved as DictionaryEntry objects. Console.WriteLine(); foreach (DictionaryEntry de in openWith) { Console.WriteLine("Key = {0}, Value = {1}", de.Key, de.Value); } } } /* 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.

