.NET Framework Class Library
StringIndexOf Method (Char)

Reports the zero-based index of the first occurrence of the specified Unicode character in this string.

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)
Syntax
Public Function IndexOf ( _
	value As [%$TOPIC/kwb0bwyd_en-us_VS_110_1_0_0_0_0%] _
) As [%$TOPIC/kwb0bwyd_en-us_VS_110_1_0_0_0_1%]
public [%$TOPIC/kwb0bwyd_en-us_VS_110_1_0_1_0_0%] IndexOf(
	[%$TOPIC/kwb0bwyd_en-us_VS_110_1_0_1_0_1%] value
)
public:
[%$TOPIC/kwb0bwyd_en-us_VS_110_1_0_2_0_0%] IndexOf(
	[%$TOPIC/kwb0bwyd_en-us_VS_110_1_0_2_0_1%] value
)
member IndexOf : 
        value:[%$TOPIC/kwb0bwyd_en-us_VS_110_1_0_3_0_0%] -> [%$TOPIC/kwb0bwyd_en-us_VS_110_1_0_3_0_1%]

Parameters

value
Type: SystemChar

A Unicode character to seek.

Return Value

Type: SystemInt32
The zero-based index position of value if that character is found, or -1 if it is not.
Remarks

Index numbering starts from zero.

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 CompareInfoIndexOf 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.

Examples

The following example demonstrates how you can search a String for a character using the IndexOf method.

' Create a Unicode String with 5 Greek Alpha characters 
Dim szGreekAlpha As New String(ChrW(&H0391), 5)
' Create a Unicode String with a Greek Omega character 
Dim szGreekOmega As New String(New Char() {ChrW(&H03A9), ChrW(&H03A9), _
                                           ChrW(&H03A9)}, 2, 1)

Dim szGreekLetters As String = String.Concat(szGreekOmega, szGreekAlpha, _
                                             szGreekOmega.Clone())

' Examine the result
Console.WriteLine(szGreekLetters)

' The first index of Alpha 
Dim iAlpha As Integer = szGreekLetters.IndexOf(ChrW(&H0391))
' The last index of Omega 
Dim iomega As Integer = szGreekLetters.LastIndexOf(ChrW(&H03A9))

Console.WriteLine("The Greek letter Alpha first appears at index {0}.", _ 
                  ialpha)
Console.WriteLIne("The Greek letter Omega last appears at index {0}.", _
                  iomega)
// Create a Unicode String with 5 Greek Alpha characters
String szGreekAlpha = new String('\u0391',5);
// Create a Unicode String with a Greek Omega character
String szGreekOmega = new String(new char [] {'\u03A9','\u03A9','\u03A9'},2,1);

String szGreekLetters = String.Concat(szGreekOmega, szGreekAlpha, szGreekOmega.Clone());

// Examine the result
Console.WriteLine(szGreekLetters);

// The first index of Alpha 
int ialpha = szGreekLetters.IndexOf('\u0391');
// The last index of Omega 
int iomega = szGreekLetters.LastIndexOf('\u03A9');

Console.WriteLine("The Greek letter Alpha first appears at index " + ialpha +
    " and Omega last appears at index " + iomega + " in this String.");
// Create a Unicode String with 5 Greek Alpha characters
String^ szGreekAlpha = gcnew String( L'\x0391',5 );

// Create a Unicode String with a Greek Omega character
wchar_t charArray5[3] = {L'\x03A9',L'\x03A9',L'\x03A9'};
String^ szGreekOmega = gcnew String( charArray5,2,1 );
String^ szGreekLetters = String::Concat( szGreekOmega, szGreekAlpha, szGreekOmega->Clone() );

// Examine the result
Console::WriteLine( szGreekLetters );

// The first index of Alpha 
int ialpha = szGreekLetters->IndexOf( L'\x0391' );

// The last index of Omega 
int iomega = szGreekLetters->LastIndexOf( L'\x03A9' );
Console::WriteLine( String::Concat(  "The Greek letter Alpha first appears at index ", Convert::ToString( ialpha ) ) );
Console::WriteLine( String::Concat(  " and Omega last appears at index ", Convert::ToString( iomega ),  " in this String." ) );
Version Information

.NET Framework

Supported in: 4.5.2, 4.5.1, 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Supported in: 4, 3.5 SP1

Portable Class Library

Supported in: Portable Class Library

.NET for Windows Store apps

Supported in: Windows 8

.NET for Windows Phone apps

Supported in: Windows Phone 8.1, Windows Phone 8, Silverlight 8.1
Platforms

Windows Phone 8.1, Windows Phone 8, Windows 8.1, Windows Server 2012 R2, Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (Server Core Role not supported), Windows Server 2008 R2 (Server Core Role supported with SP1 or later; Itanium not supported)

The .NET Framework does not support all versions of every platform. For a list of the supported versions, see .NET Framework System Requirements.