SortedList<TKey, TValue>.IDictionary.Keys Property

 

Gets an ICollection containing the keys of the IDictionary.

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

ICollection IDictionary.Keys { get; }

Property Value

Type: System.Collections.ICollection

An ICollection containing the keys of the IDictionary.

The order of the keys in the ICollection is the same as the order in the SortedList<TKey, TValue>.

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

The following code example shows how to use the IDictionary<TKey, TValue>.Keys property of the System.Collections.IDictionary interface with a SortedList<TKey, TValue>, to list the keys in the sorted list. The example also shows how to enumerate the key/value pairs in the sorted list; note that the enumerator for the System.Collections.IDictionary interface returns DictionaryEntry objects rather than KeyValuePair<TKey, TValue> objects.

The code example is part of a larger example, including output, provided for the IDictionary.Add method.

using System;
using System.Collections;
using System.Collections.Generic;

public class Example
{
    public static void Main()
    {
        // Create a new sorted list of strings, with string keys,
        // and access it using the IDictionary interface.
        //
        IDictionary openWith = new SortedList<string, string>();

        // Add some elements to the sorted list. There are no 
        // duplicate keys, but some of the values are duplicates.
        // IDictionary.Add throws an exception if incorrect types
        // are supplied for key or value.
        openWith.Add("txt", "notepad.exe");
        openWith.Add("bmp", "paint.exe");
        openWith.Add("dib", "paint.exe");
        openWith.Add("rtf", "wordpad.exe");
// To get the keys alone, use the Keys property.
icoll = openWith.Keys;

// The elements of the collection are strongly typed
// with the type that was specified for keys,
// even though the ICollection interface is not strongly
// typed.
Console.WriteLine();
foreach( string s in icoll )
{
    Console.WriteLine("Key = {0}", s);
}
// When you use foreach to enumerate sorted list elements
// with the IDictionary interface, the elements are retrieved
// as DictionaryEntry objects instead of KeyValuePair objects.
Console.WriteLine();
foreach( DictionaryEntry de in openWith )
{
    Console.WriteLine("Key = {0}, Value = {1}", 
        de.Key, de.Value);
}
    }
}

Universal Windows Platform
Available since 10
.NET Framework
Available since 2.0
Return to top
Show: