Array.FindLastIndex Méthode
Définition
Important
Certaines informations portent sur la préversion du produit qui est susceptible d’être en grande partie modifiée avant sa publication. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
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 une Array ou une partie de celui-ci.
Surcharges
| Nom | Description |
|---|---|
| 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 dans l’ensemble Array. |
| 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 dans la plage d’éléments de l’élément 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 dans la plage d’éléments dans la Array plage d’éléments qui contient le nombre spécifié d’éléments 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 de la fin, en 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 5.
Note
En C#, F# et Visual Basic, il n’est pas nécessaire de créer explicitement le délégué Predicate<string> (Predicate(Of String) dans Visual Basic). Ces langages déduitnt le délégué approprié à partir du contexte et créez-le automatiquement.
La FindLastIndex<T>(T[], Int32, Predicate<T>) surcharge de méthode est utilisée pour rechercher le tableau à partir de la position 4 et passer en arrière au début du tableau. Il trouve 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 en arrière (autrement dit, les éléments 4, 3 et 2). Elle retourne -1 parce qu’il n’y a pas de noms de dinosaures dans cette plage qui se terminent par « saurus ».
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
- 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 dans l’ensemble Array.
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[]
Basé sur Array zéro unidimensionnel à rechercher.
- match
- Predicate<T>
Qui Predicate<T> 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, s’il est trouvé ; sinon, -1.
Exceptions
Remarques
La Array recherche est effectuée vers l’arrière à partir du dernier élément et se termine au premier élément.
Il Predicate<T> s’agit d’un délégué à une méthode qui retourne true si l’objet passé à celui-ci 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 Lengtharray.
Voir aussi
- Exists<T>(T[], Predicate<T>)
- Find<T>(T[], Predicate<T>)
- FindLast<T>(T[], Predicate<T>)
- FindAll<T>(T[], Predicate<T>)
- BinarySearch
- IndexOf
- LastIndexOf
- Predicate<T>
S’applique à
FindLastIndex<T>(T[], Int32, Predicate<T>)
- Source:
- Array.cs
- Source:
- Array.cs
- 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 dans la plage d’éléments de l’élément 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[]
Basé sur Array zéro unidimensionnel à rechercher.
- startIndex
- Int32
Index de départ de base zéro de la recherche descendante.
- match
- Predicate<T>
Qui Predicate<T> 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, s’il est trouvé ; sinon, -1.
Exceptions
startIndex est en dehors de la plage d’index valides pour array.
Remarques
L’objet Array est recherché à l’arrière à startIndex partir et se termine au premier élément.
Il Predicate<T> s’agit d’un délégué à une méthode qui retourne true si l’objet passé à celui-ci 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 du début array à startIndex.
Voir aussi
- Exists<T>(T[], Predicate<T>)
- Find<T>(T[], Predicate<T>)
- FindLast<T>(T[], Predicate<T>)
- FindAll<T>(T[], Predicate<T>)
- BinarySearch
- IndexOf
- LastIndexOf
- Predicate<T>
S’applique à
FindLastIndex<T>(T[], Int32, Int32, Predicate<T>)
- Source:
- Array.cs
- Source:
- Array.cs
- 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 dans la plage d’éléments dans la Array plage d’éléments qui contient le nombre spécifié d’éléments 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[]
Basé sur Array zéro unidimensionnel à rechercher.
- startIndex
- Int32
Index de départ de base zéro de la recherche descendante.
- count
- Int32
Nombre d’éléments de la section à rechercher.
- match
- Predicate<T>
Qui Predicate<T> 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, s’il est trouvé ; sinon, -1.
Exceptions
startIndex est en dehors de la plage d’index valides pour array.
- ou -
count est inférieur à zéro.
- ou -
startIndex et count ne spécifiez pas de section valide dans array.
Remarques
La Array recherche est effectuée vers l’arrière à startIndex partir et se terminant à startIndex moins count 1, si count elle est supérieure à 0.
Il Predicate<T> s’agit d’un délégué à une méthode qui retourne true si l’objet passé à celui-ci 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
- Exists<T>(T[], Predicate<T>)
- Find<T>(T[], Predicate<T>)
- FindLast<T>(T[], Predicate<T>)
- FindAll<T>(T[], Predicate<T>)
- BinarySearch
- IndexOf
- LastIndexOf
- Predicate<T>