Lire en anglais

Partager via


Array.FindIndex Méthode

Définition

Recherche un élément qui correspond aux conditions définies par un prédicat spécifié, puis retourne l’index de base zéro de la première occurrence au sein d’un Array ou une partie de celui-ci.

Surcharges

FindIndex<T>(T[], Predicate<T>)

Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne l'index de base zéro de la première occurrence trouvée dans le Array entier.

FindIndex<T>(T[], Int32, Predicate<T>)

Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne l'index de base zéro de la première occurrence trouvée dans la plage d'éléments de Array qui s'étend de l'index spécifié au dernier élément.

FindIndex<T>(T[], Int32, Int32, Predicate<T>)

Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne l'index de base zéro de la première occurrence trouvée dans la plage d'éléments de Array qui commence à l'index spécifié et contient le nombre d'éléments spécifié.

Exemples

L’exemple de code suivant illustre les trois surcharges de la FindIndex méthode générique. Un tableau de chaînes est créé, contenant 8 noms de dinosaures, dont deux (aux positions 1 et 5) se terminent par « saurus ». L’exemple de code définit également une méthode de prédicat de recherche nommée EndsWithSaurus, qui accepte un paramètre de chaîne et retourne une valeur booléenne indiquant si la chaîne d’entrée se termine par « saurus ».

La FindIndex<T>(T[], Predicate<T>) surcharge de méthode traverse le tableau à partir du début, passant à son tour chaque élément à la EndsWithSaurus méthode. La recherche s’arrête lorsque la EndsWithSaurus méthode retourne true l’élément à la position 1.

Note

En C#, F# et Visual Basic, il n’est pas nécessaire de créer le Predicate<string> délégué (Predicate(Of String) en Visual Basic) explicitement. Ces langages déduisent le délégué correct à partir du contexte et le créent automatiquement.

La FindIndex<T>(T[], Int32, Predicate<T>) surcharge de méthode est utilisée pour rechercher le tableau en commençant à la position 2 et en continuant jusqu’à la fin du tableau. Il recherche l’élément à la position 5. Enfin, la surcharge de FindIndex<T>(T[], Int32, Int32, Predicate<T>) méthode est utilisée pour rechercher la plage de trois éléments commençant à la position 2. Il retourne -1 parce qu’il n’y a pas de noms de dinosaures dans cette plage qui se terminent par « saurus ».

C#
using System;

public class Example
{
    public static void Main()
    {
        string[] dinosaurs = { "Compsognathus",
            "Amargasaurus",   "Oviraptor",      "Velociraptor",
            "Deinonychus",    "Dilophosaurus",  "Gallimimus",
            "Triceratops" };

        Console.WriteLine();
        foreach(string dinosaur in dinosaurs)
        {
            Console.WriteLine(dinosaur);
        }

        Console.WriteLine(
            "\nArray.FindIndex(dinosaurs, EndsWithSaurus): {0}",
            Array.FindIndex(dinosaurs, EndsWithSaurus));

        Console.WriteLine(
            "\nArray.FindIndex(dinosaurs, 2, EndsWithSaurus): {0}",
            Array.FindIndex(dinosaurs, 2, EndsWithSaurus));

        Console.WriteLine(
            "\nArray.FindIndex(dinosaurs, 2, 3, EndsWithSaurus): {0}",
            Array.FindIndex(dinosaurs, 2, 3, EndsWithSaurus));
    }

    // Search predicate returns true if a string ends in "saurus".
    private static bool EndsWithSaurus(String s)
    {
        if ((s.Length > 5) &&
            (s.Substring(s.Length - 6).ToLower() == "saurus"))
        {
            return true;
        }
        else
        {
            return false;
        }
    }
}

/* This code example produces the following output:

Compsognathus
Amargasaurus
Oviraptor
Velociraptor
Deinonychus
Dilophosaurus
Gallimimus
Triceratops

Array.FindIndex(dinosaurs, EndsWithSaurus): 1

Array.FindIndex(dinosaurs, 2, EndsWithSaurus): 5

Array.FindIndex(dinosaurs, 2, 3, EndsWithSaurus): -1
 */

FindIndex<T>(T[], Predicate<T>)

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne l'index de base zéro de la première occurrence trouvée dans le Array entier.

C#
public static int FindIndex<T> (T[] array, Predicate<T> match);

Paramètres de type

T

Type des éléments du tableau.

Paramètres

array
T[]

Array de base zéro unidimensionnel à explorer.

match
Predicate<T>

Predicate<T> qui définit les conditions de l’élément à rechercher.

Retours

Index de base zéro de la première occurrence d’un élément qui répond aux conditions définies par match, si cette occurrence est trouvée ; sinon, -1.

Exceptions

array a la valeur null.

-ou-

match a la valeur null.

Remarques

Est Array recherché vers l’avant en commençant au premier élément et se terminant par le dernier élément.

est Predicate<T> un délégué à une méthode qui retourne true si l’objet qui lui est passé correspond aux conditions définies dans le délégué. Les éléments de array sont passés individuellement au Predicate<T>.

Cette méthode est une opération O(n), où n est le Length de array.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

FindIndex<T>(T[], Int32, Predicate<T>)

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne l'index de base zéro de la première occurrence trouvée dans la plage d'éléments de Array qui s'étend de l'index spécifié au dernier élément.

C#
public static int FindIndex<T> (T[] array, int startIndex, Predicate<T> match);

Paramètres de type

T

Type des éléments du tableau.

Paramètres

array
T[]

Array de base zéro unidimensionnel à explorer.

startIndex
Int32

Index de début de base zéro de la recherche.

match
Predicate<T>

Predicate<T> qui définit les conditions de l’élément à rechercher.

Retours

Index de base zéro de la première occurrence d’un élément qui répond aux conditions définies par match, si cette occurrence est trouvée ; sinon, -1.

Exceptions

array a la valeur null.

-ou-

match a la valeur null.

startIndex n’est pas compris dans la plage d’index valides pour array.

Remarques

Est recherché vers l’avant Array en commençant à startIndex et se terminant au dernier élément.

est Predicate<T> un délégué à une méthode qui retourne true si l’objet qui lui est passé correspond aux conditions définies dans le délégué. Les éléments de array sont passés individuellement au Predicate<T>.

Cette méthode est une opération O(n), où n est le nombre d’éléments de startIndex jusqu’à la fin de array.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0

FindIndex<T>(T[], Int32, Int32, Predicate<T>)

Source:
Array.cs
Source:
Array.cs
Source:
Array.cs

Recherche un élément qui correspond aux conditions définies par le prédicat spécifié et retourne l'index de base zéro de la première occurrence trouvée dans la plage d'éléments de Array qui commence à l'index spécifié et contient le nombre d'éléments spécifié.

C#
public static int FindIndex<T> (T[] array, int startIndex, int count, Predicate<T> match);

Paramètres de type

T

Type des éléments du tableau.

Paramètres

array
T[]

Array de base zéro unidimensionnel à explorer.

startIndex
Int32

Index de début de base zéro de la recherche.

count
Int32

Nombre d’éléments contenus dans la section où la recherche doit être effectuée.

match
Predicate<T>

Predicate<T> qui définit les conditions de l’élément à rechercher.

Retours

Index de base zéro de la première occurrence d’un élément qui répond aux conditions définies par match, si cette occurrence est trouvée ; sinon, -1.

Exceptions

array a la valeur null.

-ou-

match a la valeur null.

startIndex n’est pas compris dans la plage d’index valides pour array.

- ou -

count est inférieur à zéro.

- ou -

startIndex et count ne spécifient pas une section valide dans array.

Remarques

Est Array recherché vers l’avant en commençant à et se terminant à startIndex plus count moins 1, si count est supérieur à startIndex 0.

est Predicate<T> un délégué à une méthode qui retourne true si l’objet qui lui est passé correspond aux conditions définies dans le délégué. Les éléments de array sont passés individuellement au Predicate<T>.

Cette méthode est une opération O(n), où n est count.

Voir aussi

S’applique à

.NET 9 et autres versions
Produit Versions
.NET Core 1.0, Core 1.1, Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 1.0, 1.1, 1.2, 1.3, 1.4, 1.5, 1.6, 2.0, 2.1
UWP 10.0