Export (0) Print
Expand All
This topic has not yet been rated - Rate this topic

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)
'Declaration
<SecuritySafeCriticalAttribute> _
Public Function IndexOf ( _
	value As Char, _
	startIndex As Integer, _
	count As Integer _
) As Integer

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, Integer, Integer ) method.

Module Example

   Public Sub Demo(ByVal outputBlock As System.Windows.Controls.TextBlock)
      Dim br1 As String = _
          "0----+----1----+----2----+----3----+----" & _
          "4----+----5----+----6----+----7"
      Dim br2 As String = _
          "0123456789012345678901234567890123456789" & _
          "0123456789012345678901234567890"
      Dim str As String = _
          "ABCDEFGHI abcdefghi ABCDEFGHI abcdefghi " & _
          "ABCDEFGHI abcdefghi ABCDEFGHI"

      outputBlock.Text += _
          "This example of String.IndexOf( Char, Integer, Integer )" & _
          vbCrLf & "generates the following output." & vbCrLf
      outputBlock.Text += String.Format( _
          "{0}{1}{0}{2}{0}{3}{0}", _
          Environment.NewLine, br1, br2, str) & vbCrLf

      FindAllChar(outputBlock, "A"c, str)
      FindAllChar(outputBlock, "a"c, str)
      FindAllChar(outputBlock, "I"c, str)
      FindAllChar(outputBlock, "i"c, str)
      FindAllChar(outputBlock, "@"c, str)
      FindAllChar(outputBlock, " "c, str)
   End Sub 'Main

   Sub FindAllChar(ByVal outputBlock As System.Windows.Controls.TextBlock, ByVal target As Char, ByVal searched As String)

      outputBlock.Text += String.Format( _
          "The character ""{0}"" occurs at position(s): ", target)

      Dim startIndex As Integer = -1
      Dim hitCount As Integer = 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 Then
            Exit While
         End If

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

      outputBlock.Text += String.Format("occurrences: {0}", hitCount) & vbCrLf

   End Sub 'FindAllChar
End Module 'IndexOfCII

' This example of String.IndexOf( Char, Integer, Integer )
' 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.

Did you find this helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

ADD
Show:
© 2014 Microsoft. All rights reserved.