KeyValuePair(Of TKey, TValue) Structure
[ This article is for Windows Phone 8 developers. If you’re developing for Windows 10, see the latest documentation. ]
Defines a key/value pair that can be set or retrieved.
Assembly: mscorlib (in mscorlib.dll)
The KeyValuePair(Of TKey, TValue) type exposes the following members.
| Name | Description | |
|---|---|---|
![]() | KeyValuePair(Of TKey, TValue) | Initializes a new instance of the KeyValuePair(Of TKey, TValue) structure with the specified key and value. |
| Name | Description | |
|---|---|---|
![]() | Equals | Indicates whether this instance and a specified object are equal. (Inherited from ValueType.) |
![]() | Finalize | Allows an object to try to free resources and perform other cleanup operations before the Object is reclaimed by garbage collection. (Inherited from Object.) |
![]() | GetHashCode | Returns the hash code for this instance. (Inherited from ValueType.) |
![]() | GetType | Gets the Type of the current instance. (Inherited from Object.) |
![]() | MemberwiseClone | Creates a shallow copy of the current Object. (Inherited from Object.) |
![]() | ToString | Returns a string representation of the KeyValuePair(Of TKey, TValue), using the string representations of the key and value. (Overrides ValueType.ToString.) |
The Dictionary(Of TKey, TValue).Enumerator.Current property returns an instance of this type.
The foreach statement of the C# language (for each in C++, For Each in Visual Basic) requires the type of the elements in the collection. Since each element of a collection based on IDictionary(Of TKey, TValue) 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 KeyValuePair(Of TKey, TValue). For example:
The foreach statement is a wrapper around the enumerator, which allows only reading from, not writing to, the collection.
The following code example shows how to enumerate the keys and values in a dictionary, using the KeyValuePair(Of TKey, TValue) structure.
This code is part of a larger example (the second example) provided for the Dictionary(Of TKey, TValue) class.
' When you use foreach to enumerate dictionary elements, ' the elements are retrieved as KeyValuePair objects. outputBlock.Text &= vbCrLf For Each kvp As KeyValuePair(Of String, String) In openWith outputBlock.Text &= String.Format("Key = {0}, Value = {1}", _ kvp.Key, kvp.Value) & vbCrLf Next kvp


