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 (String, Int32)

Reports the index of the first occurrence of the specified String in this instance. The search starts at a specified character position.

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

public int IndexOf (
	string value,
	int startIndex
)
public int IndexOf (
	String value, 
	int startIndex
)
public function IndexOf (
	value : String, 
	startIndex : int
) : int

Parameters

value

The String to seek.

startIndex

The search starting position.

Return Value

The index position of value if that string is found, or -1 if it is not. If value is Empty, the return value is startIndex.

Exception typeCondition

ArgumentNullException

value is a null reference (Nothing in Visual Basic).

ArgumentOutOfRangeException

startIndex is negative.

-or-

startIndex specifies a position not within this instance.

Index numbering starts from zero.

This method performs a word (case-sensitive and culture-sensitive) search using the current culture. The search begins at the startIndex character position of this instance and continues until the last character position.

The following code example searches for all occurrences of a specified string within a target string.

using System;

public class IndexOfTest {
    public static void Main() {

        string strSource = "This is the string which we will perform the search on";

        Console.WriteLine("The search string is:{0}\"{1}\"{0}", Environment.NewLine, strSource);

        string strTarget = "";
        int found = 0;
        int totFinds = 0;

        do {
            Console.Write("Please enter a search value to look for in the above string (hit Enter to exit) ==> ");

            strTarget = Console.ReadLine();

            if (strTarget != "") {

                for (int i = 0; i < strSource.Length; i++) {

                    found = strSource.IndexOf(strTarget, i);

                    if (found > 0) {
                        totFinds++;
                        i = found;
                    }
                    else
                        break;
                }
            }
            else
                return;

            Console.WriteLine("{0}The search parameter '{1}' was found {2} times.{0}",
                    Environment.NewLine, strTarget, totFinds);

            totFinds = 0;

        } while ( true );
    }
}

import System.*;

public class IndexOfTest
{
    public static void main(String[] args)
    {
        String strSource = "This is the string which we will perform the "
            + "search on";

        Console.WriteLine("The search string is:{0}\"{1}\"{0}", 
            Environment.get_NewLine(), strSource);

        String strTarget = "";
        int found = 0;
        int totFinds = 0;

        do {
            Console.Write("Please enter a search value to look for in the "
                + "above string (hit Enter to exit) ==> ");
            strTarget = Console.ReadLine();
            
            if (!strTarget.Equals("")) {
                for (int i = 0; i < strSource.get_Length(); i++) {
                    found = strSource.IndexOf(strTarget, i);
                    if (found > 0) {
                        totFinds++;
                        i = found;
                    }
                    else {
                        break;
                    }
                }
            }
            else {
                return;
            }
            Console.WriteLine("{0}The search parameter '{1}' was found {2} "
                + "times.{0}", Environment.get_NewLine(), strTarget, 
                (Int32)totFinds);
            totFinds = 0;
        } while (true);
    } //main
} //IndexOfTest

import System;

public class IndexOfTest {
    public static function Main() : void {

        var strSource : String = "This is the string which we will perform the search on";

        Console.WriteLine("The search string is:{0}\"{1}\"{0}", Environment.NewLine, strSource);

        var strTarget : String = "";
        var found : int = 0;
        var totFinds : int = 0;

        do {
            Console.Write("Please enter a search value to look for in the above string (hit Enter to exit) ==> ");

            strTarget = Console.ReadLine();

            if (strTarget != "") {

                for (var i : int = 0; i < strSource.Length; i++) {

                    found = strSource.IndexOf(strTarget, i);

                    if (found > 0) {
                        totFinds++;
                        i = found;
                    }
                    else
                        break;
                }
            }
            else
                return;

            Console.WriteLine("{0}The search parameter '{1}' was found {2} times.{0}",
                    Environment.NewLine, strTarget, totFinds);

            totFinds = 0;

        } while ( true );
    }
}
IndexOfTest.Main();

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

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

.NET Framework

Supported in: 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0
Was this page helpful?
(1500 characters remaining)
Thank you for your feedback

Community Additions

Show:
© 2015 Microsoft