String::IndexOf Method (Char)


The .NET API Reference documentation has a new home. Visit the .NET API Browser on to see the new experience.

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

Namespace:   System
Assembly:  mscorlib (in mscorlib.dll)

int IndexOf(
	wchar_t value


Type: System::Char

A Unicode character to seek.

Return Value

Type: System::Int32

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

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 CompareInfo::IndexOf 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 how you can search a String for a character using the IndexOf method.

using namespace System;

void main()
   // Create a Unicode String with 5 Greek Alpha characters.
   String^ szGreekAlpha = gcnew String(L'\x0391',5);

   // Create a Unicode String with a 3 Greek Omega characters.
   String^ szGreekOmega = L"\x03A9\x03A9\x03A9";

   String^ szGreekLetters = String::Concat(szGreekOmega, szGreekAlpha, 

   // Display the entire string.

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

   Console::WriteLine("First occurrence of the Greek letter Alpha: Index {0}", 
   Console::WriteLine("First occurrence of the Greek letter Omega: Index {0}", 
// The example displays the following output:
//       The string: OOO?????OOO
//       First occurrence of the Greek letter Alpha: Index 3
//       First occurrence of the Greek letter Omega: Index 0

Universal Windows Platform
Available since 8
.NET Framework
Available since 1.1
Portable Class Library
Supported in: portable .NET platforms
Available since 2.0
Windows Phone Silverlight
Available since 7.0
Windows Phone
Available since 8.1
Return to top