What is C# IndexOf List?

The List.IndexOf() method is a crucial function in C# that belongs to the List<T> class within the System.Collections.Generic namespace. This method serves the important purpose of locating the position of an element within a list, returning the zero-based index of the first occurrence of the specified item. Whether you’re working with simple data types or complex objects, the IndexOf() method provides an efficient way to search for items, making it a valuable tool in scenarios where you need to determine the position of an element for further processing.

One of the primary motivations for using List.IndexOf() is its ability to simplify the search process in large datasets. Instead of manually iterating through a list to find an item, IndexOf() offers a streamlined approach that reduces code complexity and enhances readability. It’s particularly useful in applications where you need to verify the existence of an element before performing operations like insertion, deletion, or updating elements based on their position within the list.

Syntax

The IndexOf method’s basic syntax is as follows:

int index = myList.IndexOf(item);

Here, myList is the list where we are trying to locate the item’s index. item is the item in the list that we are trying to find.

Return value

The method returns the zero-based index of the list’s first occurrence of the specified item. It gives back -1 if the object cannot be located.

Visualization of the IndexOf()
Visualization of the IndexOf()

Code example

Let's demonstrate the usage of IndexOf() method:

using System;
using System.Collections.Generic;
class Test
{
static void Main()
{
List<int> array = new List<int> { 1, 2, 3, 4, 5, 6, 7};
int item = 4;
int index = array.IndexOf(item);
if (index != -1)
{
Console.WriteLine($"Index of {item} is: {index}");
}
else
{
Console.WriteLine("Item not found");
}
}
}

Note: If there are multiple occurrences of the item in the list, the IndexOf() method finds only the first instance. If you want to find subsequent occurrences, you need to use for loop for that specific condition.

Code explanation

  • Lines 1–2: These are using directives that allow us to use classes and functionality from the System namespace and the System.Collections.Generic namespace, respectively.

  • Line 4: It declares a class named Test. In C#, the Main method is typically placed inside a class.

  • Line 6: This is the entry point of the program. It's a static method named Main with a void return type, indicating that it does not return any value.

  • Line 8: It creates a List<int> named array and initialize it with values 1, 2, 3, 4, 5, 6, 7.

  • Line 10: It declares an integer variable named item and assigns it the value 4.

  • Line 11: It finds the index of the first occurrence of the value stored in the item variable within the array list. If the item is not found, the IndexOf method returns -1.

  • Lines 13–16: It checks if the index is not equal to -1, indicating that the item was found in the list, and then prints a message to the console indicating the index at which the item was found.

  • Lines 17–20: If the item is not found, it prints a message to the console indicating that the item was not found in the list.

Conclusion

The IndexOf() method in C# efficiently locates the first occurrence of an item in a List<T>, returning its index if found or -1 if not present. This functionality is essential for search operations and data manipulation in C# programming. Understanding its behavior with multiple occurrences is crucial for accurate implementation.


Free Resources

Copyright ©2025 Educative, Inc. All rights reserved