Array.FindLastIndex Méthode

Définition

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

Surcharges

FindLastIndex<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 dernière occurrence trouvée dans le Array entier.

FindLastIndex<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 dernière occurrence trouvée dans la plage d'éléments du Array qui s'étend du premier élément à l'index spécifié.

FindLastIndex<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 dernière occurrence trouvée dans la plage d’éléments du Array qui contient le nombre d’éléments spécifié et se termine à l’index spécifié.

Exemples

L’exemple de code suivant illustre les trois surcharges de la FindLastIndex 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 FindLastIndex<T>(T[], Predicate<T>) surcharge de méthode traverse le tableau vers l’arrière à partir de la fin, passant chaque élément à son tour à la EndsWithSaurus méthode . La recherche s’arrête lorsque la EndsWithSaurus méthode retourne true l’élément à la position 5.

Notes

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

La FindLastIndex<T>(T[], Int32, Predicate<T>) surcharge de méthode est utilisée pour rechercher le tableau en commençant à la position 4 et en continuant vers l’arrière jusqu’au début du tableau. Il recherche l’élément à la position 1. Enfin, la FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) surcharge de méthode est utilisée pour rechercher la plage de trois éléments commençant à la position 4 et fonctionnant vers l’arrière (c’est-à-dire les éléments 4, 3 et 2). Elle retourne -1, car il n’y a aucun nom de dinosaure dans cette plage qui se termine par « saurus ».

using namespace System;

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

void main()
{
    array<String^>^ dinosaurs = { "Compsognathus", 
        "Amargasaurus",   "Oviraptor",      "Velociraptor", 
        "Deinonychus",    "Dilophosaurus",  "Gallimimus", 
        "Triceratops" };

    Console::WriteLine();
    for each(String^ dinosaur in dinosaurs )
    {
        Console::WriteLine(dinosaur);
    }

    Console::WriteLine("\nArray::FindLastIndex(dinosaurs, EndsWithSaurus): {0}", 
        Array::FindLastIndex(dinosaurs, gcnew Predicate<String^>(EndsWithSaurus)));

    Console::WriteLine("\nArray::FindLastIndex(dinosaurs, 4, EndsWithSaurus): {0}",
        Array::FindLastIndex(dinosaurs, 4, gcnew Predicate<String^>(EndsWithSaurus)));

    Console::WriteLine("\nArray::FindLastIndex(dinosaurs, 4, 3, EndsWithSaurus): {0}",
        Array::FindLastIndex(dinosaurs, 4, 3, gcnew Predicate<String^>(EndsWithSaurus)));
}

/* This code example produces the following output:

Compsognathus
Amargasaurus
Oviraptor
Velociraptor
Deinonychus
Dilophosaurus
Gallimimus
Triceratops

Array::FindLastIndex(dinosaurs, EndsWithSaurus): 5

Array::FindLastIndex(dinosaurs, 4, EndsWithSaurus): 1

Array::FindLastIndex(dinosaurs, 4, 3, EndsWithSaurus): -1
 */
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.FindLastIndex(dinosaurs, EndsWithSaurus): {0}",
            Array.FindLastIndex(dinosaurs, EndsWithSaurus));

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

        Console.WriteLine(
            "\nArray.FindLastIndex(dinosaurs, 4, 3, EndsWithSaurus): {0}",
            Array.FindLastIndex(dinosaurs, 4, 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.FindLastIndex(dinosaurs, EndsWithSaurus): 5

Array.FindLastIndex(dinosaurs, 4, EndsWithSaurus): 1

Array.FindLastIndex(dinosaurs, 4, 3, EndsWithSaurus): -1
 */
open System

// Search predicate returns true if a string ends in "saurus".
let endsWithSaurus (s: string) =
    s.Length > 5 && s.Substring(s.Length - 6).ToLower() = "saurus"

let dinosaurs =
    [| "Compsognathus"; "Amargasaurus"
       "Oviraptor"; "Velociraptor"
       "Deinonychus"; "Dilophosaurus"
       "Gallimimus"; "Triceratops" |]

printfn ""
for dino in dinosaurs do
    printfn $"{dino}"

Array.FindLastIndex(dinosaurs, endsWithSaurus)
|> printfn "\nArray.FindLastIndex(dinosaurs, EndsWithSaurus): %i"

Array.FindLastIndex(dinosaurs, 4, endsWithSaurus)
|> printfn "\nArray.FindLastIndex(dinosaurs, 4, EndsWithSaurus): %i"

Array.FindLastIndex(dinosaurs, 4, 3, endsWithSaurus)
|> printfn "\nArray.FindLastIndex(dinosaurs, 4, 3, EndsWithSaurus): %i"


// This code example produces the following output:
//
//     Compsognathus
//     Amargasaurus
//     Oviraptor
//     Velociraptor
//     Deinonychus
//     Dilophosaurus
//     Gallimimus
//     Triceratops
//
//     Array.FindLastIndex(dinosaurs, EndsWithSaurus): 5
//
//     Array.FindLastIndex(dinosaurs, 4, EndsWithSaurus): 1
//
//     Array.FindLastIndex(dinosaurs, 4, 3, EndsWithSaurus): -1
Public Class Example

    Public Shared Sub Main()

        Dim dinosaurs() As String = { "Compsognathus", _
            "Amargasaurus",   "Oviraptor",      "Velociraptor", _
            "Deinonychus",    "Dilophosaurus",  "Gallimimus", _
            "Triceratops" }

        Console.WriteLine()
        For Each dinosaur As String In dinosaurs
            Console.WriteLine(dinosaur)
        Next

        Console.WriteLine(vbLf & _
            "Array.FindLastIndex(dinosaurs, AddressOf EndsWithSaurus): {0}", _
            Array.FindLastIndex(dinosaurs, AddressOf EndsWithSaurus))

        Console.WriteLine(vbLf & _
            "Array.FindLastIndex(dinosaurs, 4, AddressOf EndsWithSaurus): {0}", _
            Array.FindLastIndex(dinosaurs, 4, AddressOf EndsWithSaurus))

        Console.WriteLine(vbLf & _
            "Array.FindLastIndex(dinosaurs, 4, 3, AddressOf EndsWithSaurus): {0}", _
            Array.FindLastIndex(dinosaurs, 4, 3, AddressOf EndsWithSaurus))

    End Sub

    ' Search predicate returns true if a string ends in "saurus".
    Private Shared Function EndsWithSaurus(ByVal s As String) _
        As Boolean

        ' AndAlso prevents evaluation of the second Boolean
        ' expression if the string is so short that an error
        ' would occur.
        If (s.Length > 5) AndAlso _
            (s.Substring(s.Length - 6).ToLower() = "saurus") Then
            Return True
        Else
            Return False
        End If
    End Function
End Class

' This code example produces the following output:
'
'Compsognathus
'Amargasaurus
'Oviraptor
'Velociraptor
'Deinonychus
'Dilophosaurus
'Gallimimus
'Triceratops
'
'Array.FindLastIndex(dinosaurs, AddressOf EndsWithSaurus): 5
'
'Array.FindLastIndex(dinosaurs, 4, AddressOf EndsWithSaurus): 1
'
'Array.FindLastIndex(dinosaurs, 4, 3, AddressOf EndsWithSaurus): -1

FindLastIndex<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 dernière occurrence trouvée dans le Array entier.

public:
generic <typename T>
 static int FindLastIndex(cli::array <T> ^ array, Predicate<T> ^ match);
public static int FindLastIndex<T> (T[] array, Predicate<T> match);
static member FindLastIndex : 'T[] * Predicate<'T> -> int
Public Shared Function FindLastIndex(Of T) (array As T(), match As Predicate(Of T)) As Integer

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 dernière occurrence d’un élément qui correspond 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

La Array recherche est régressée en commençant au dernier élément et se terminant au premier élément.

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

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

Voir aussi

S’applique à

FindLastIndex<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 dernière occurrence trouvée dans la plage d'éléments du Array qui s'étend du premier élément à l'index spécifié.

public:
generic <typename T>
 static int FindLastIndex(cli::array <T> ^ array, int startIndex, Predicate<T> ^ match);
public static int FindLastIndex<T> (T[] array, int startIndex, Predicate<T> match);
static member FindLastIndex : 'T[] * int * Predicate<'T> -> int
Public Shared Function FindLastIndex(Of T) (array As T(), startIndex As Integer, match As Predicate(Of T)) As Integer

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 vers le haut.

match
Predicate<T>

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

Retours

Index de base zéro de la dernière occurrence d’un élément qui correspond 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

Le Array est recherché vers l’arrière en commençant à startIndex et se terminant au premier élément.

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

Cette méthode est une opération O(n), où n est le nombre d’éléments entre le début de array et startIndex.

Voir aussi

S’applique à

FindLastIndex<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 dernière occurrence trouvée dans la plage d’éléments du Array qui contient le nombre d’éléments spécifié et se termine à l’index spécifié.

public:
generic <typename T>
 static int FindLastIndex(cli::array <T> ^ array, int startIndex, int count, Predicate<T> ^ match);
public static int FindLastIndex<T> (T[] array, int startIndex, int count, Predicate<T> match);
static member FindLastIndex : 'T[] * int * int * Predicate<'T> -> int
Public Shared Function FindLastIndex(Of T) (array As T(), startIndex As Integer, count As Integer, match As Predicate(Of T)) As Integer

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 vers le haut.

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 dernière occurrence d’un élément qui correspond 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

La Array recherche est régressée en commençant à et se terminant à startIndex moins count plus 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 a été transmis correspond aux conditions définies dans le délégué. Les éléments de array sont transmis individuellement au Predicate<T>.

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

Voir aussi

S’applique à