C# | Getting the index of the specified key in a SortedList object
SortedList.IndexOfKey(Object) Method is used to get the zero-based index of the specified key in a SortedList object.
Syntax:
public virtual int IndexOfKey (object key);
Here, key is the Key which is to be located in the SortedList object.
Return Value: This method returns the zero-based index of type System.Int32
of the key parameter if the key is found in the SortedList object otherwise it returns -1.
Exceptions:
- ArgumentNullException: If the key is null.
- InvalidOperationException: If the comparer throws an exception.
Below programs illustrate the use of above-discussed method:
Example 1:
using System;
using System.Collections;
class Geeks {
public static void Main(String[] args)
{
SortedList mylist = new SortedList();
mylist.Add( "First" , "Ram" );
mylist.Add( "Second" , "Shyam" );
mylist.Add( "Third" , "Mohit" );
mylist.Add( "Fourth" , "Rohit" );
mylist.Add( "Fifth" , "Manish" );
Console.WriteLine( "Index \t\t Keys \t\tValues" );
for ( int i = 0; i < mylist.Count; i++)
{
Console.WriteLine( "[{0}]\t\t{1}\t\t{2}" , i,
mylist.GetKey(i), mylist.GetByIndex(i));
}
Console.Write( "\nThe index of key 'Third' is: " );
Console.Write(mylist.IndexOfKey( "Third" ));
Console.Write( "\nThe index of key 'Sixth' is: " );
Console.Write(mylist.IndexOfKey( "Sixth" ));
}
}
|
Output:
Index Keys Values
[0] Fifth Manish
[1] First Ram
[2] Fourth Rohit
[3] Second Shyam
[4] Third Mohit
The index of key 'Third' is: 4
The index of key 'Sixth' is: -1
Example 2: To demonstrate the case where ArgumentNullException
can occur
using System;
using System.Collections;
class Geeks {
public static void Main(String[] args)
{
SortedList mylist = new SortedList();
mylist.Add( "1" , "C++" );
mylist.Add( "2" , "Java" );
mylist.Add( "3" , "DSA" );
mylist.Add( "4" , "Python" );
mylist.Add( "5" , "C#" );
Console.WriteLine( "Index \t\t Keys \t\tValues" );
for ( int i = 0; i < mylist.Count; i++)
{
Console.WriteLine( "[{0}]\t\t{1}\t\t{2}" , i,
mylist.GetKey(i), mylist.GetByIndex(i));
}
Console.Write( "\nThe index of key 'null' is: " );
Console.Write(mylist.IndexOfKey( null ));
}
}
|
Runtime Error:
Unhandled Exception:
System.ArgumentNullException: Key cannot be null.
Parameter name: key
Note:
- 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. So, the index of a specific key/value pair may change.
- This method uses a binary search algorithm so, this method is an O(log n) operation, where n is the Count.
Reference:
Last Updated :
01 Feb, 2019
Like Article
Save Article
Share your thoughts in the comments
Please Login to comment...