SortedList.GetKey(Int32) Method
Definition
Important
Some information relates to prerelease product that may be substantially modified before it’s released. Microsoft makes no warranties, express or implied, with respect to the information provided here.
Gets the key at the specified index of a SortedList object.
public:
virtual System::Object ^ GetKey(int index);
public virtual object GetKey (int index);
abstract member GetKey : int -> obj
override this.GetKey : int -> obj
Public Overridable Function GetKey (index As Integer) As Object
Parameters
- index
- Int32
The zero-based index of the key to get.
Returns
The key at the specified index of the SortedList object.
Exceptions
index
is outside the range of valid indexes for 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 index sequence is based on the sort sequence. When an element is added, it is inserted into SortedList in the correct sort order, and the indexing adjusts accordingly. When an element is removed, the indexing also adjusts accordingly. Therefore, the index of a specific key/value pair might change as elements are added or removed from the SortedList object.
This method is an O(1)
operation.