IndexOf Méthode (String, Int32)
Cet article a fait l’objet d’une traduction automatique. Pour afficher l’article en anglais, activez la case d’option Anglais. Vous pouvez également afficher le texte anglais dans une fenêtre contextuelle en faisant glisser le pointeur de la souris sur le texte traduit.
Traduction
Anglais

String.IndexOf, méthode (String, Int32)

 

Signale l'index de base zéro de la première occurrence de la chaîne spécifiée dans cette instance.La recherche commence à une position de caractère spécifiée.

Espace de noms:   System
Assembly:  mscorlib (dans mscorlib.dll)

public int IndexOf(
	string value,
	int startIndex
)

Paramètres

value

Chaîne à rechercher.

startIndex

Position de départ de la recherche.

Valeur de retour

Type: System.Int32

Position d'index de base zéro de value si cette chaîne est disponible ou -1 si elle est introuvable.Si value est String.Empty, la valeur de retour est startIndex.

Exception Condition
ArgumentNullException

value a la valeur null.

ArgumentOutOfRangeException

startIndex est inférieur à 0 (zéro) ou supérieur à la longueur de cette chaîne.

Numérotation de l'index commence à 0.Le paramètre startIndex peut varier entre 0 et la longueur de l'instance de chaîne.Si startIndex est égal à la longueur de l'instance de chaîne, la méthode retourne -1.

Cette méthode effectue une recherche de mots (respectant la casse et dépendante de la culture) à l'aide de la culture actuelle.La recherche commence à la startIndex caractère de cette instance et continue jusqu'à la dernière position de caractère.

Les jeux de caractères incluent les caractères ignorables, à savoir les caractères qui ne sont pas considérés lors de l'exécution d'une comparaison linguistique ou dépendante de la culture.Dans une recherche dépendante de la culture, si value contient un caractère ignorable, le résultat est équivalent à la recherche avec ce caractère supprimé.Si value se compose uniquement d'un ou plusieurs caractères peut être ignorés, la IndexOf(String, Int32) méthode retourne toujours startIndex, qui est la position du caractère au niveau duquel commence la recherche.Dans l'exemple suivant, la IndexOf(String, Int32) méthode est utilisée pour rechercher la position d'un trait d'union conditionnel (U + 00AD) suivie d'un « m » dans les deux chaînes.Une seule des chaînes contient la sous-chaîne requise.Si l'exemple est exécuté le .NET Framework 4 ou une version ultérieure, dans les deux cas, car le trait d'union conditionnel est un caractère ignorable, la méthode retourne l'index « m » dans la chaîne.Notez que, dans le cas de la première chaîne, qui inclut le trait d'union conditionnel suivi d'un « m », la méthode ne parvient pas à retourner l'index du trait d'union, mais retourne à la place celui de la lettre « m ».

using System;

public class Example
{
   public static void Main()
   {
      string searchString = "\u00ADm";
      string s1 = "ani\u00ADmal" ;
      string s2 = "animal";

      Console.WriteLine(s1.IndexOf(searchString, 2));
      Console.WriteLine(s2.IndexOf(searchString, 2));
   }
}
// The example displays the following output:
//       4
//       3

Remarques à l'attention des appelants :

Comme expliqué dans Meilleures pratiques pour l'utilisation de chaînes dans le .NET Framework, nous recommandons d'éviter d'appeler des méthodes de comparaison de chaînes qui substituent les valeurs par défaut et appellent à la place des méthodes qui requièrent des paramètres spécifiés explicitement.Pour rechercher le premier index d'une sous-chaîne qui se produit après une position de caractère particulière à l'aide des règles de comparaison de la culture actuelle, appelez la IndexOf(String, Int32, StringComparison) la surcharge de méthode avec une valeur de StringComparison.CurrentCulture pour son comparisonType paramètre.

L'exemple suivant recherche toutes les occurrences d'une chaîne spécifiée dans une chaîne cible.

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 );
    }
}

Universal Windows Platform
Disponible depuis 4.5
.NET Framework
Disponible depuis 1.1
Portable Class Library
Pris en charge dans : portable .NET platforms
Silverlight
Disponible depuis 2.0
Windows Phone Silverlight
Disponible depuis 7.0
Windows Phone
Disponible depuis 8.1
Retour au début
Afficher:
© 2016 Microsoft