SortedList.GetKeyList Method

Definition

Gets the keys in a SortedList object.

public:
 virtual System::Collections::IList ^ GetKeyList();
public virtual System.Collections.IList GetKeyList ();
abstract member GetKeyList : unit -> System.Collections.IList
override this.GetKeyList : unit -> System.Collections.IList
Public Overridable Function GetKeyList () As IList

Returns

An IList object containing the keys in the SortedList object.

Examples

The following code example shows how to get one or all the keys or values in a SortedList object.

#using <system.dll>

using namespace System;
using namespace System::Collections;
int main()
{
   
   // Creates and initializes a new SortedList.
   SortedList^ mySL = gcnew SortedList;
   mySL->Add( 1.3, "fox" );
   mySL->Add( 1.4, "jumps" );
   mySL->Add( 1.5, "over" );
   mySL->Add( 1.2, "brown" );
   mySL->Add( 1.1, "quick" );
   mySL->Add( 1.0, "The" );
   mySL->Add( 1.6, "the" );
   mySL->Add( 1.8, "dog" );
   mySL->Add( 1.7, "lazy" );
   
   // Gets the key and the value based on the index.
   int myIndex = 3;
   Console::WriteLine( "The key   at index {0} is {1}.", myIndex, mySL->GetKey( myIndex ) );
   Console::WriteLine( "The value at index {0} is {1}.", myIndex, mySL->GetByIndex( myIndex ) );
   
   // Gets the list of keys and the list of values.
   IList^ myKeyList = mySL->GetKeyList();
   IList^ myValueList = mySL->GetValueList();
   
   // Prints the keys in the first column and the values in the second column.
   Console::WriteLine( "\t-KEY-\t-VALUE-" );
   for ( int i = 0; i < mySL->Count; i++ )
      Console::WriteLine( "\t{0}\t{1}", myKeyList[ i ], myValueList[ i ] );
}

/*
This code produces the following output.

The key   at index 3 is 1.3.
The value at index 3 is fox.
        -KEY-   -VALUE-
        1       The
        1.1     quick
        1.2     brown
        1.3     fox
        1.4     jumps
        1.5     over
        1.6     the
        1.7     lazy
        1.8     dog
*/
using System;
using System.Collections;
public class SamplesSortedList  {

   public static void Main()  {

      // Creates and initializes a new SortedList.
      SortedList mySL = new SortedList();
      mySL.Add( 1.3, "fox" );
      mySL.Add( 1.4, "jumps" );
      mySL.Add( 1.5, "over" );
      mySL.Add( 1.2, "brown" );
      mySL.Add( 1.1, "quick" );
      mySL.Add( 1.0, "The" );
      mySL.Add( 1.6, "the" );
      mySL.Add( 1.8, "dog" );
      mySL.Add( 1.7, "lazy" );

      // Gets the key and the value based on the index.
      int myIndex=3;
      Console.WriteLine( "The key   at index {0} is {1}.", myIndex, mySL.GetKey( myIndex ) );
      Console.WriteLine( "The value at index {0} is {1}.", myIndex, mySL.GetByIndex( myIndex ) );

      // Gets the list of keys and the list of values.
      IList myKeyList = mySL.GetKeyList();
      IList myValueList = mySL.GetValueList();

      // Prints the keys in the first column and the values in the second column.
      Console.WriteLine( "\t-KEY-\t-VALUE-" );
      for ( int i = 0; i < mySL.Count; i++ )
         Console.WriteLine( "\t{0}\t{1}", myKeyList[i], myValueList[i] );
   }
}
/*
This code produces the following output.

The key   at index 3 is 1.3.
The value at index 3 is fox.
    -KEY-    -VALUE-
    1    The
    1.1    quick
    1.2    brown
    1.3    fox
    1.4    jumps
    1.5    over
    1.6    the
    1.7    lazy
    1.8    dog
*/
Imports System.Collections

Public Class SamplesSortedList
        
    Public Shared Sub Main()
        
        ' Creates and initializes a new SortedList.
        Dim mySL As New SortedList()
        mySL.Add(1.3, "fox")
        mySL.Add(1.4, "jumps")
        mySL.Add(1.5, "over")
        mySL.Add(1.2, "brown")
        mySL.Add(1.1, "quick")
        mySL.Add(1.0, "The")
        mySL.Add(1.6, "the")
        mySL.Add(1.8, "dog")
        mySL.Add(1.7, "lazy")
        
        ' Gets the key and the value based on the index.
        Dim myIndex As Integer = 3
        Console.WriteLine("The key   at index {0} is {1}.", myIndex, _
           mySL.GetKey(myIndex))
        Console.WriteLine("The value at index {0} is {1}.", myIndex, _
           mySL.GetByIndex(myIndex))
        
        ' Gets the list of keys and the list of values.
        Dim myKeyList As IList = mySL.GetKeyList()
        Dim myValueList As IList = mySL.GetValueList()
        
        ' Prints the keys in the first column and the values in the second column.
        Console.WriteLine(ControlChars.Tab & "-KEY-" & ControlChars.Tab & _
           "-VALUE-")
        Dim i As Integer
        For i = 0 To mySL.Count - 1
            Console.WriteLine(ControlChars.Tab & "{0}" & ControlChars.Tab & _
               "{1}", myKeyList(i), myValueList(i))
        Next i
    End Sub
End Class

' This code produces the following output.
' 
' The key   at index 3 is 1.3.
' The value at index 3 is fox.
'     -KEY-    -VALUE-
'     1    The
'     1.1    quick
'     1.2    brown
'     1.3    fox
'     1.4    jumps
'     1.5    over
'     1.6    the
'     1.7    lazy
'     1.8    dog

Remarks

The returned IList object is a read-only view of the keys of the SortedList object. Modifications made to the underlying SortedList are immediately reflected in the IList.

The elements of the returned IList are sorted in the same order as the keys of the SortedList.

This method is similar to the Keys property, but returns an IList object instead of an ICollection object.

This method is an O(1) operation.

Applies to

See also