Information
The topic you requested is included in another documentation set. For convenience, it's displayed below. Choose Switch to see the topic in its original location.

String.IndexOf Method (Char, Int32, Int32)

Reports the zero-based index of the first occurrence of the specified character in this instance. The search starts at a specified character position and examines a specified number of character positions.

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

[SecuritySafeCriticalAttribute]
public int IndexOf(
	char value,
	int startIndex,
	int count
)

Parameters

value
Type: System.Char
A Unicode character to seek.
startIndex
Type: System.Int32
The search starting position.
count
Type: System.Int32
The number of character positions to examine.

Return Value

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

ExceptionCondition
ArgumentOutOfRangeException

count or startIndex is negative.

-or-

startIndex is greater than the length of this string.

-or-

count is greater than the length of this string minus startIndex

The search begins at startIndex and continues to startIndex + count -1. The character at startIndex + count is not included in the search.

Index numbering starts from zero. startIndex can range from 0 to one less than the length of the string instance.

The search for value is case-sensitive.

This method performs an ordinal (culture-insensitive) search, where a character is considered equivalent to another character only if their Unicode scalar value 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 code example demonstrates the IndexOf method.


// Example for the String.IndexOf( char, int, int ) method.
using System;

class Example
{
   public static void Demo(System.Windows.Controls.TextBlock outputBlock)
   {
      string br1 =
          "0----+----1----+----2----+----3----+----" +
          "4----+----5----+----6----+----7";
      string br2 =
          "0123456789012345678901234567890123456789" +
          "0123456789012345678901234567890";
      string str =
          "ABCDEFGHI abcdefghi ABCDEFGHI abcdefghi " +
          "ABCDEFGHI abcdefghi ABCDEFGHI";

      outputBlock.Text +=
          "This example of String.IndexOf( char, int, int )\n" +
          "generates the following output." + "\n";
      outputBlock.Text += String.Format(
          "{0}{1}{0}{2}{0}{3}{0}",
          Environment.NewLine, br1, br2, str) + "\n";

      FindAllChar(outputBlock, 'A', str);
      FindAllChar(outputBlock, 'a', str);
      FindAllChar(outputBlock, 'I', str);
      FindAllChar(outputBlock, 'i', str);
      FindAllChar(outputBlock, '@', str);
      FindAllChar(outputBlock, ' ', str);
   }

   static void FindAllChar(System.Windows.Controls.TextBlock outputBlock, Char target, String searched)
   {
      outputBlock.Text += String.Format(
          "The character '{0}' occurs at position(s): ",
          target);

      int startIndex = -1;
      int hitCount = 0;

      // Search for all occurrences of the target.
      while (true)
      {
         startIndex = searched.IndexOf(
             target, startIndex + 1,
             searched.Length - startIndex - 1);

         // Exit the loop if the target is not found.
         if (startIndex < 0)
            break;

         outputBlock.Text += String.Format("{0}, ", startIndex);
         hitCount++;
      }

      outputBlock.Text += String.Format("occurrences: {0}", hitCount) + "\n";
   }
}

/*
This example of String.IndexOf( char, int, int )
generates the following output.

0----+----1----+----2----+----3----+----4----+----5----+----6----+----7
01234567890123456789012345678901234567890123456789012345678901234567890
ABCDEFGHI abcdefghi ABCDEFGHI abcdefghi ABCDEFGHI abcdefghi ABCDEFGHI

The character 'A' occurs at position(s): 0, 20, 40, 60, occurrences: 4
The character 'a' occurs at position(s): 10, 30, 50, occurrences: 3
The character 'I' occurs at position(s): 8, 28, 48, 68, occurrences: 4
The character 'i' occurs at position(s): 18, 38, 58, occurrences: 3
The character '@' occurs at position(s): occurrences: 0
The character ' ' occurs at position(s): 9, 19, 29, 39, 49, 59, occurrences: 6
*/


Silverlight

Supported in: 5, 4, 3

Silverlight for Windows Phone

Supported in: Windows Phone OS 7.1, Windows Phone OS 7.0

XNA Framework

Supported in: Xbox 360, Windows Phone OS 7.0

For a list of the operating systems and browsers that are supported by Silverlight, see Supported Operating Systems and Browsers.

Community Additions

Show:
© 2014 Microsoft