Cet article a fait l'objet d'une traduction automatique. Déplacez votre pointeur sur les phrases de l'article pour voir la version originale de ce texte. Informations supplémentaires.
Traduction
Source
Ce sujet n'a pas encore été évalué - Évaluez ce sujet

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

Signale la position d'index de base zéro de la dernière occurrence d'une chaîne spécifiée dans cette instance. La recherche commence à une position de caractère spécifiée et s'exécute vers l'arrière, vers le début de la chaîne.

Espace de noms :  System
Assembly :  mscorlib (dans mscorlib.dll)
public int LastIndexOf(
	string value,
	int startIndex
)

Paramètres

value
Type : System.String
Chaîne à rechercher.
startIndex
Type : System.Int32
Position de départ de la recherche. La recherche se poursuit à partir de startIndex vers le début de cette instance.

Valeur de retour

Type : System.Int32
Position d'index de base zéro de value si cette chaîne est trouvée, ou -1 si elle est introuvable ou si l'instance actuelle égale String.Empty. Si value est String.Empty, la valeur de retour est la plus petite de startIndex et la dernière position d'index dans cette instance.
ExceptionCondition
ArgumentNullException

value a la valeur null.

ArgumentOutOfRangeException

L'instance actuelle n'est pas égale à String.Empty et startIndex est inférieur à zéro ou supérieur ou égal à la longueur de l'instance en cours.

ou

L'instance actuelle est égale à String.Empty et startIndex est supérieur à zéro.

La numérotation de l'index commence à zéro. Cela signifie que le premier caractère de la chaîne est situé à l'index zéro et que le dernier est situé à Length - 1.

La recherche commence à la position de caractère startIndex de cette instance et s'exécute vers l'arrière jusqu'à ce que value soit trouvé ou que la première position de caractère ait été examinée. Par exemple, si startIndex est Length - 1, la méthode recherche tous les caractères à partir du dernier caractère de la chaîne jusqu'au début.

Cette méthode effectue une recherche de mots (respectant la casse et spécifique à la culture) à l'aide de la culture en cours.

Les jeux de caractères incluent des caractères ignorable, qui sont des caractères qui ne sont pas considérés en exécutant 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 à rechercher avec ce caractère supprimé. Si value se compose uniquement d'un ou plusieurs caractères ignorable, la méthode d' LastIndexOf(String, Int32) retourne toujours startIndex, qui est la position de caractère à laquelle la recherche démarre. Dans l'exemple suivant, la méthode d' LastIndexOf(String, Int32) est utilisée pour rechercher une sous-chaîne qui inclut un trait d'union conditionnel (U+00AD) et qui précède ou inclut « m » final dans une chaîne. Étant donné que le trait d'union conditionnel dans la chaîne recherchée est ignoré, appelez la méthode pour rechercher une sous-chaîne qui inclut le trait d'union conditionnel et « m » retourne la position du « m » dans la chaîne, alors que l'appelant pour rechercher une sous-chaîne qui inclut le trait d'union conditionnel et « n » retourne la position du « n ». Lorsque la chaîne recherchée contient uniquement le trait d'union conditionnel, la méthode retourne l'index du « m », qui représente la valeur d' startIndex.


using System;

public class Example
{
   public static void Main()
   {
      int position = 0;
      string s1 = "ani\u00ADmal";
      string s2 = "animal";

      // Find the index of the soft hyphen.
      position = s1.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)
         Console.WriteLine(s1.LastIndexOf("\u00AD", position));

      position = s2.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)   
         Console.WriteLine(s2.LastIndexOf("\u00AD", position));

      // Find the index of the soft hyphen followed by "n".
      position = s1.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)
         Console.WriteLine(s1.LastIndexOf("\u00ADn", position));

      position = s2.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)   
         Console.WriteLine(s2.LastIndexOf("\u00ADn", position));

      // Find the index of the soft hyphen followed by "m".
      position = s1.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)
         Console.WriteLine(s1.LastIndexOf("\u00ADm", position));

      position = s2.LastIndexOf("m");
      Console.WriteLine("'m' at position {0}", position);
      if (position >= 0)   
         Console.WriteLine(s2.LastIndexOf("\u00ADm", position));
   }
}
// The example displays the following output:
//       'm' at position 4
//       4
//       'm' at position 3
//       3
//       'm' at position 4
//       1
//       'm' at position 3
//       1
//       'm' at position 4
//       4
//       'm' at position 3
//       3


Remarques à l'attention des appelants

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

L'exemple suivant recherche l'index de toutes les occurrences d'une chaîne dans une chaîne cible, depuis la fin de la chaîne cible jusqu'à son début.


// Sample for String.LastIndexOf(String, 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;

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

    at = 0;
    while((start > -1) && (at > -1))
        {
        at = str.LastIndexOf("he", start);
        if (at > -1) 
            {
            Console.Write("{0} ", at);
            start = at - 1;
            }
        }
    Console.Write("{0}{0}{0}", Environment.NewLine);
    }
}
/*
This example produces the following results:
All occurrences of 'he' from position 66 to 0.
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): 56 45 8


*/


.NET Framework

Pris en charge dans : 4.5, 4, 3.5, 3.0, 2.0, 1.1, 1.0

.NET Framework Client Profile

Pris en charge dans : 4, 3.5 SP1

Bibliothèque de classes portable

Pris en charge dans : Bibliothèque de classes portable

.NET pour les applications du Windows Store

Pris en charge dans : Windows 8

Windows 8, Windows Server 2012, Windows 7, Windows Vista SP2, Windows Server 2008 (rôle principal du serveur non pris en charge), Windows Server 2008 R2 (rôle principal du serveur pris en charge avec SP1 ou version ultérieure ; Itanium non pris en charge)

Le .NET Framework ne prend pas en charge toutes les versions de chaque plateforme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise du .NET Framework.
Cela vous a-t-il été utile ?
(1500 caractères restants)

Ajouts de la communauté

AJOUTER
Microsoft réalise une enquête en ligne pour recueillir votre opinion sur le site Web de MSDN. Si vous choisissez d’y participer, cette enquête en ligne vous sera présentée lorsque vous quitterez le site Web de MSDN.

Si vous souhaitez y participer,
© 2013 Microsoft. Tous droits réservés.