Article Categories
- All Categories
-
Data Structure
-
Networking
-
RDBMS
-
Operating System
-
Java
-
MS Excel
-
iOS
-
HTML
-
CSS
-
Android
-
Python
-
C Programming
-
C++
-
C#
-
MongoDB
-
MySQL
-
Javascript
-
PHP
-
Economics & Finance
Getting index of the specified value in a SortedList object in C#
To get the index of a specified value in a SortedList object, C# provides the IndexOfValue() method. This method searches for the first occurrence of the specified value and returns its zero-based index position.
Syntax
Following is the syntax for the IndexOfValue() method −
public virtual int IndexOfValue(object value);
Parameters
- value − The value to locate in the SortedList. The value can be null.
Return Value
The method returns an integer representing the zero-based index of the first occurrence of the value. If the value is not found, it returns -1.
Using IndexOfValue() with Integer Values
The following example demonstrates finding the index of integer values in a SortedList −
using System;
using System.Collections;
public class Demo {
public static void Main(String[] args) {
SortedList list1 = new SortedList();
list1.Add("One", 1);
list1.Add("Two", 2);
list1.Add("Three", 3);
list1.Add("Four", 4);
list1.Add("Five", 5);
list1.Add("Six", 6);
list1.Add("Seven", 7);
list1.Add("Eight", 8);
list1.Add("Nine", 9);
list1.Add("Ten", 10);
Console.WriteLine("SortedList1 elements...");
foreach(DictionaryEntry d in list1) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("Index at value 7 = " + list1.IndexOfValue(7));
Console.WriteLine("Index at value 1 = " + list1.IndexOfValue(1));
}
}
The output of the above code is −
SortedList1 elements... Eight 8 Five 5 Four 4 Nine 9 One 1 Seven 7 Six 6 Ten 10 Three 3 Two 2 Index at value 7 = 5 Index at value 1 = 4
Using IndexOfValue() with String Values
The following example shows how to find the index of string values in a SortedList −
using System;
using System.Collections;
public class Demo {
public static void Main(String[] args) {
SortedList list = new SortedList();
list.Add("One", "Finance");
list.Add("Two", "Marketing");
list.Add("Three", "Sales");
list.Add("Four", "Purchase");
list.Add("Five", "Operations");
list.Add("Six", "IT");
Console.WriteLine("SortedList elements...");
foreach(DictionaryEntry d in list) {
Console.WriteLine(d.Key + " " + d.Value);
}
Console.WriteLine("\nIndex at value Marketing = " + list.IndexOfValue("Marketing"));
Console.WriteLine("Index at value Purchase = " + list.IndexOfValue("Purchase"));
Console.WriteLine("Index at value Sales = " + list.IndexOfValue("Sales"));
Console.WriteLine("Index at value IT = " + list.IndexOfValue("IT"));
Console.WriteLine("Index at value Operations = " + list.IndexOfValue("Operations"));
Console.WriteLine("Index at value NonExistent = " + list.IndexOfValue("NonExistent"));
}
}
The output of the above code is −
SortedList elements... Five Operations Four Purchase One Finance Six IT Three Sales Two Marketing Index at value Marketing = 5 Index at value Purchase = 1 Index at value Sales = 4 Index at value IT = 3 Index at value Operations = 0 Index at value NonExistent = -1
How It Works
The IndexOfValue() method performs a linear search through the values in the SortedList. Since SortedList maintains elements sorted by keys (not values), the search operation has O(n) time complexity where n is the number of elements.
Conclusion
The IndexOfValue() method in SortedList provides an efficient way to find the index position of any value. It returns the zero-based index of the first occurrence or -1 if the value is not found, making it useful for locating and manipulating specific values within the collection.
