Export (0) Print
Expand All

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
Not applicable.

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 Server 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 Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0

.NET Compact Framework

Supported in: 2.0, 1.0

XNA Framework

Supported in: 1.0

Community Additions

ADD
Show:
© 2014 Microsoft