System.Globalization.CompareInfo.IndexOf Method

Searches for the specified character and returns the zero-based index of the first occurrence within the entire source string.


public virtual int IndexOf (string source, char value)


The string to search.
The character to locate within source.


The zero-based index of the first occurrence of value, if found, within source; otherwise, -1. Returns 0 (zero) if value is an ignorable character.


This method searches the source string from the beginning of the string to the end of the string.

This overload performs a culture-sensitive search. If value represents a precomposed Unicode character, such as the ligature "Æ" (U+00C6), it might be considered equivalent to any occurrence of its components in the correct sequence, such as "AE" (U+0041, U+0045), depending on the culture. To perform an ordinal (culture-insensitive) search, where a character is considered equivalent to another character only if their Unicode code points are the same, you should call an overload that has a parameter of type System.Globalization.CompareOptions and use the CompareOptions.Ordinal value. Unlike CompareInfo.IndexOf(string, char), which performs a culture-sensitive comparison, overloads of the string.IndexOf(char) method that search for a character perform an ordinal comparison and overloads that search for a string perform a culture-sensitive comparison.


When possible, you should use string comparison methods that have a parameter of type System.Globalization.CompareOptions to specify the kind of comparison expected. As a general rule, use linguistic options (using the current culture) for comparing strings displayed in the user interface and specify CompareOptions.Ordinal or CompareOptions.OrdinalIgnoreCase for security comparisons.


Namespace: System.Globalization
Assembly: mscorlib (in mscorlib.dll)
Assembly Versions: 1.0.5000.0,,