Export (0) Print
Expand All

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.

Community Additions

ADD
Show:
© 2014 Microsoft