Reports the zero-based index of the first occurrence of the specified Unicode character in this string. The search starts at a specified character position.
The zero-based index position of value if that character is found, or -1 if it is not.
Type Reason ArgumentOutOfRangeException startIndex is less than zero or greater than the length of the current instance.
Index numbering starts from 0. The startIndex parameter can range from 0 to the length of the string instance. If startIndex equals the length of the string instance, the method returns -1.
The search ranges from startIndex to the end of the string.
This method performs an ordinal (culture-insensitive) search, where a character is considered equivalent to another character only if their Unicode scalar values are the same. To perform a culture-sensitive search, use the System.Globalization.CompareInfo.IndexOf(string, char) method, where a Unicode scalar value representing a precomposed character, such as the ligature "Æ" (U+00C6), might be considered equivalent to any occurrence of the character's components in the correct sequence, such as "AE" (U+0041, U+0045), depending on the culture.
The following example demonstrates the string.IndexOf(char) method.
C# Example
using System; public class StringIndexOf { public static void Main() { String str = "This is the string"; Console.WriteLine( "Searching for the index of 'h' starting from index 0 yields {0}.", str.IndexOf( 'h', 0 ) ); Console.WriteLine( "Searching for the index of 'h' starting from index 10 yields {0}.", str.IndexOf( 'h', 10 ) ); } }
The output is
Searching for the index of 'h' starting from index 0 yields 1.