Dictionary<TKey,TValue>.Values Property

Definition

Gets a collection containing the values in the Dictionary<TKey,TValue>.

public:
 property System::Collections::Generic::Dictionary<TKey, TValue>::ValueCollection ^ Values { System::Collections::Generic::Dictionary<TKey, TValue>::ValueCollection ^ get(); };
public System.Collections.Generic.Dictionary<TKey,TValue>.ValueCollection Values { get; }
member this.Values : System.Collections.Generic.Dictionary<'Key, 'Value>.ValueCollection
Public ReadOnly Property Values As Dictionary(Of TKey, TValue).ValueCollection

Property Value

A Dictionary<TKey,TValue>.ValueCollection containing the values in the Dictionary<TKey,TValue>.

Examples

This code example shows how to enumerate the values in the dictionary using the Values property, and how to enumerate the keys and values in the dictionary.

This code example is part of a larger example provided for the Dictionary<TKey,TValue> class (openWith is the name of the Dictionary used in this example).

// To get the values alone, use the Values property.
Dictionary<String^, String^>::ValueCollection^ valueColl =
    openWith->Values;

// The elements of the ValueCollection are strongly typed
// with the type that was specified for dictionary values.
Console::WriteLine();
for each( String^ s in valueColl )
{
    Console::WriteLine("Value = {0}", s);
}
// To get the values alone, use the Values property.
Dictionary<string, string>.ValueCollection valueColl =
    openWith.Values;

// The elements of the ValueCollection are strongly typed
// with the type that was specified for dictionary values.
Console.WriteLine();
foreach( string s in valueColl )
{
    Console.WriteLine("Value = {0}", s);
}
' To get the values alone, use the Values property.
Dim valueColl As _
    Dictionary(Of String, String).ValueCollection = _
    openWith.Values

' The elements of the ValueCollection are strongly typed
' with the type that was specified for dictionary values.
Console.WriteLine()
For Each s As String In  valueColl
    Console.WriteLine("Value = {0}", s)
Next s
// When you use foreach to enumerate dictionary elements,
// the elements are retrieved as KeyValuePair objects.
Console::WriteLine();
for each( KeyValuePair<String^, String^> kvp in openWith )
{
    Console::WriteLine("Key = {0}, Value = {1}",
        kvp.Key, kvp.Value);
}
// When you use foreach to enumerate dictionary elements,
// the elements are retrieved as KeyValuePair objects.
Console.WriteLine();
foreach( KeyValuePair<string, string> kvp in openWith )
{
    Console.WriteLine("Key = {0}, Value = {1}",
        kvp.Key, kvp.Value);
}
' When you use foreach to enumerate dictionary elements,
' the elements are retrieved as KeyValuePair objects.
Console.WriteLine()
For Each kvp As KeyValuePair(Of String, String) In openWith
    Console.WriteLine("Key = {0}, Value = {1}", _
        kvp.Key, kvp.Value)
Next kvp

Remarks

The order of the values in the Dictionary<TKey,TValue>.ValueCollection is unspecified, but it is the same order as the associated keys in the Dictionary<TKey,TValue>.KeyCollection returned by the Keys property.

The returned Dictionary<TKey,TValue>.ValueCollection is not a static copy; instead, the Dictionary<TKey,TValue>.ValueCollection refers back to the values in the original Dictionary<TKey,TValue>. Therefore, changes to the Dictionary<TKey,TValue> continue to be reflected in the Dictionary<TKey,TValue>.ValueCollection.

Getting the value of this property is an O(1) operation.

Applies to

See also