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 (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 namespace System; using namespace System::Collections; public ref class Example { public: static void Main() { // Create a new hash table. // Hashtable^ openWith = gcnew 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(); for each (DictionaryEntry de in openWith) { Console::WriteLine("Key = {0}, Value = {1}", de.Key, de.Value); } } }; int main() { Example::Main(); } /* 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.

