Cette documentation est archivée et n’est pas conservée.

String.IndexOfAny, méthode (Char[], Int32, Int32)

Signale l'index de la première occurrence dans cette instance de tout caractère dans un tableau de caractères Unicode spécifié. La recherche commence à une position de caractère spécifiée et examine un nombre défini de positions de caractère.

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

public int IndexOfAny (
	char[] anyOf,
	int startIndex,
	int count
)
public int IndexOfAny (
	char[] anyOf, 
	int startIndex, 
	int count
)
public function IndexOfAny (
	anyOf : char[], 
	startIndex : int, 
	count : int
) : int

Paramètres

anyOf

Tableau de caractères Unicode contenant un ou plusieurs caractères à rechercher.

startIndex

Position de départ de la recherche.

count

Nombre de positions de caractère à examiner.

Valeur de retour

Position d'index de la première occurrence dans cette instance où tout caractère dans anyOf a été trouvé ; sinon, -1 si aucun caractère dans anyOf n'a été trouvé.

Type d'exceptionCondition

ArgumentNullException

anyOf est référence Null (Nothing en Visual Basic).

ArgumentOutOfRangeException

count ou startIndex est négatif.

- ou -

count + startIndex est supérieur au nombre de caractères dans cette instance.

La recherche commence à startIndex et se poursuit jusqu'à startIndex + count -1. Le caractère figurant à la position startIndex + count n'est pas inclus dans la recherche.

La numérotation de l'index commence à zéro.

La recherche de anyOf respecte la casse.

Cette méthode effectue une recherche ordinale (qui ne tient pas compte de la culture), où un caractère est considéré comme l'équivalent d'un autre caractère uniquement si leurs valeurs Unicode sont identiques. Pour effectuer une recherche qui tienne compte de la culture, utilisez la méthode CompareInfo.IndexOf, où une valeur scalaire Unicode représentant un caractère précomposé, par exemple la ligature "Æ" (U+00C6), peut être considérée comme l'équivalent de n'importe quelle occurrence des composants du caractère dans la séquence appropriée, par exemple "AE" (U+0041, U+0045), en fonction de la culture.

L'exemple de code suivant recherche l'index de l'occurrence d'un caractère quelconque de la chaîne "aid" dans une sous-chaîne d'une autre chaîne.

// Sample for String.IndexOfAny(Char[], 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 count;
    string target = "aid";
    char[] anyOf = target.ToCharArray();

    start = (str.Length-1)/3;
    count = (str.Length-1)/4;
    Console.WriteLine();
    Console.WriteLine("The first character occurrence from position {0} for {1} characters.", start, count);
    Console.WriteLine("{1}{0}{2}{0}{3}{0}", Environment.NewLine, br1, br2, str);
    Console.Write("A character in '{0}' occurs at position: ", target);

    at = str.IndexOfAny(anyOf, start, count);
    if (at > -1) 
        Console.Write(at);
    else
        Console.Write("(not found)");
    Console.WriteLine();
    }
}
/*

The first character occurrence from position 22 for 16 characters.
0----+----1----+----2----+----3----+----4----+----5----+----6----+-
0123456789012345678901234567890123456789012345678901234567890123456
Now is the time for all good men to come to the aid of their party.

A character in 'aid' occurs at position: 27

*/

// Sample for String.IndexOfAny(Char[], Int32, Int32)
import System.*;

class Sample
{
    public static void main(String[] args)
    {
        String br1 = "0----+----1----+----2----+----3----+----4----+----5----+"
            + "----6----+-";
        String br2 = "01234567890123456789012345678901234567890123456789012345"
            + "67890123456";
        String str = "Now is the time for all good men to come to the aid of "
            + "their party.";
        int start;
        int at;
        int count;
        String target = "aid";
        char anyOf[] = target.ToCharArray();

        start = (str.get_Length() - 1) / 3;
        count = (str.get_Length() - 1) / 4;
        Console.WriteLine();
        Console.WriteLine("The first character occurrence from position {0} "
            + "for {1} characters.", (Int32)start, (Int32)count);
        Console.Write("{1}{0}", Environment.get_NewLine(), br1);
        Console.Write("{1}{0}", Environment.get_NewLine(), br2);
        Console.WriteLine("{1}{0}", Environment.get_NewLine(), str);
        Console.Write("A character in '{0}' occurs at position: ", target);

        at = str.IndexOfAny(anyOf, start, count);
        if (at > -1) {
            Console.Write(at);
        }
        else {
            Console.Write("(not found)");
        }
        Console.WriteLine();
    } //main
} //Sample
/*

The first character occurrence from position 22 for 16 characters.
0----+----1----+----2----+----3----+----4----+----5----+----6----+-
0123456789012345678901234567890123456789012345678901234567890123456
Now is the time for all good men to come to the aid of their party.

A character in 'aid' occurs at position: 27

*/

Windows 98, Windows 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile pour Pocket PC, Windows Mobile pour Smartphone, Windows Server 2003, Windows XP Édition Media Center, Windows XP Professionnel Édition x64, Windows XP SP2, Windows XP Starter Edition

Le .NET Framework ne prend pas en charge toutes les versions de chaque plate-forme. Pour obtenir la liste des versions prises en charge, consultez Configuration requise.

.NET Framework

Prise en charge dans : 2.0, 1.1, 1.0

.NET Compact Framework

Prise en charge dans : 2.0, 1.0
Afficher: