How to use C# string IndexOf

In C#, the IndexOf method is a useful tool for determining the position of a specified character or substring within a given string. It allows developers to search for the occurrence of a particular character or substring and retrieve its index within the string.

The IndexOf method provides several overloads that offer different search options and variations. Let's explore some examples to understand how the IndexOf method can be utilized.

Searching for a Character

string text = "Hello, World!"; int indexOfComma = text.IndexOf(','); Console.WriteLine(indexOfComma); // Output: 5

In this example, we use the IndexOf method to find the position of the comma character (',') within the string. The method returns the index of the first occurrence of the specified character, which, in this case, is 5.

Searching for a Substring

string text = "Hello, World!"; int indexOfWorld = text.IndexOf("World"); Console.WriteLine(indexOfWorld); // Output: 7

Here, the IndexOf method is used to search for the position of the substring "World" within the given string. It returns the index of the first character of the found substring, which is 7 in this case.

Specifying Start Index

string text = "Hello, World!"; int indexOfSecondL = text.IndexOf('l', 3); Console.WriteLine(indexOfSecondL); // Output: 10

In this example, we provide a start index of 3 to the IndexOf method. It indicates that the search for the character 'l' should begin from the index 3 onwards. The method returns the index of the first occurrence of the character 'l' after the specified start index, which is 10.

Using StringComparison

string text = "Hello, World!"; int indexOfoCaseInsensitive = text.IndexOf("o", StringComparison.OrdinalIgnoreCase); Console.WriteLine(indexOfoCaseInsensitive); // Output: 4

In this example, we utilize the StringComparison.OrdinalIgnoreCase option with the IndexOf method. It performs a case-insensitive search for the substring "o" within the string. The method returns the index of the first occurrence, regardless of case, which is 4 in this case.

The IndexOf method also supports various other overloads that allow specifying additional parameters such as the starting index, search direction, or using custom comparison options.


Using the IndexOf method, developers can effectively search for characters or substrings within strings and retrieve their corresponding indices. This capability proves valuable when working with text data and requires locating specific elements or performing string manipulation based on their positions within the string.