This documentation is archived and is not being maintained.

SortedList<TKey, TValue>.Values Property

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

Namespace:  System.Collections.Generic
Assembly:  System (in System.dll)

public IList<TValue> Values { get; }

Property Value

Type: System.Collections.Generic.IList<TValue>
A IList<T> containing the values in the SortedList<TKey, TValue>.

The order of the values in the IList<T> is the same as the order in the SortedList<TKey, TValue>.

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

The collection returned by the Values property provides an efficient way to retrieve values by index. It is not necessary to regenerate the list when the property is accessed, because the list is just a wrapper for the internal array of values. The following code shows the use of the Values property for indexed retrieval of values from a sorted list of strings:

string v = mySortedList.Values[3];

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

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

The example also shows how to use the Values property for efficient indexed retrieval of values.

This code example is part of a larger example provided for the SortedList<TKey, TValue> class.

// To get the values alone, use the Values property.
IList<string> ilistValues = openWith.Values;

// The elements of the list are strongly typed with the 
// type that was specified for the SorteList values.
foreach( string s in ilistValues )
    Console.WriteLine("Value = {0}", s);

// The Values property is an efficient way to retrieve
// values by index.
Console.WriteLine("\nIndexed retrieval using the Values " +
    "property: Values[2] = {0}", openWith.Values[2]);


// When you use foreach to enumerate list elements,
// the elements are retrieved as KeyValuePair objects.
foreach( KeyValuePair<string, string> kvp in openWith )
    Console.WriteLine("Key = {0}, Value = {1}", 
        kvp.Key, kvp.Value);

.NET Framework

Supported in: 4, 3.5, 3.0, 2.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Windows 7, Windows Vista SP1 or later, Windows XP SP3, Windows XP SP2 x64 Edition, Windows Server 2008 (Server Core not supported), Windows Server 2008 R2 (Server Core supported with SP1 or later), Windows Server 2003 SP2

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.