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, 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 et examine un nombre spécifié de positions de caractère.

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

public int IndexOf(
	string value,
	int startIndex,
	int count
)

Paramètres

value

Chaîne à rechercher.

startIndex

Position de départ de la recherche.

count

Nombre de positions de caractère à examiner.

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

count ou startIndex est un nombre négatif.

ou

startIndex est supérieur à la longueur de cette chaîne.

ou

count est supérieur à la longueur de cette chaîne moins startIndex.

Index numérotation commence à 0 (zéro).Le paramètre startIndex peut varier entre 0 et la longueur de l'instance de chaîne.

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 au startIndex et continue de startIndex + count -1.Le caractère situé à startIndex + count n'est pas inclus dans la recherche.

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, 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, Int32) méthode est utilisée pour rechercher la position d'un trait d'union conditionnel (U + 00AD) suivie d'un « m » à partir du troisième champ au sixième positions des caractères 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 de « m » dans la chaîne lorsqu'elle effectue une comparaison dépendante de la culture.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, 4));
      Console.WriteLine(s2.IndexOf(searchString, 2, 4));
   }
}
// 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 utiliser les règles de comparaison de la culture actuelle pour effectuer cette opération, appelez la IndexOf(String, Int32, Int32, StringComparison) la surcharge de méthode avec une valeur de StringComparison.CurrentCulture pour son comparisonType paramètre.

L'exemple suivant recherche l'index de toutes les occurrences de la chaîne « il » dans une sous-chaîne d'une autre chaîne.Notez que le nombre de caractères à rechercher doit être recalculé pour chaque itération de la recherche.

// Sample for String.IndexOf(String, Int32, Int32)
using System;

class Sample {
    public static void Main() {

    string br1 = "0----+----1----+----2----+----3----+----4----+----5----+----6----+-";
    string br2 = "0123456789012345678901234567890123456789012345678901234567890123456";
    string str = "Now is the time for all good men to come to the aid of their party.";
    int start;
    int at;
    int end;
    int count;

    end = str.Length;
    start = end/2;
    Console.WriteLine();
    Console.WriteLine("All occurrences of 'he' from position {0} to {1}.", start, end-1);
    Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str);
    Console.Write("The string 'he' occurs at position(s): ");

    count = 0;
    at = 0;
    while((start <= end) && (at > -1))
        {
// start+count must be a position within -str-.
        count = end - start;
        at = str.IndexOf("he", start, count);
        if (at == -1) break;
        Console.Write("{0} ", at);
        start = at+1;
        }
    Console.WriteLine();
    }
}
/*
This example produces the following results:

All occurrences of 'he' from position 33 to 66.
0----+----1----+----2----+----3----+----4----+----5----+----6----+-
0123456789012345678901234567890123456789012345678901234567890123456
Now is the time for all good men to come to the aid of their party.

The string 'he' occurs at position(s): 45 56

*/

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: