Array.FindLastIndex Metoda
Definice
Důležité
Některé informace platí pro předběžně vydaný produkt, který se může zásadně změnit, než ho výrobce nebo autor vydá. Microsoft neposkytuje žádné záruky, výslovné ani předpokládané, týkající se zde uváděných informací.
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí index založený na nule posledního výskytu v rámci Array nebo jeho části.
Přetížení
| Name | Description |
|---|---|
| FindLastIndex<T>(T[], Predicate<T>) |
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí index založený na nule posledního výskytu v celém Arrayrozsahu . |
| FindLastIndex<T>(T[], Int32, Predicate<T>) |
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí index založený na nule posledního výskytu v rozsahu prvků, Array který se rozšiřuje od prvního prvku na zadaný index. |
| FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) |
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí index založený na nule posledního výskytu v rozsahu prvků, Array který obsahuje zadaný počet prvků a končí na zadaném indexu. |
Příklady
Následující příklad kódu ukazuje všechny tři přetížení FindLastIndex obecné metody. Vytvoří se pole řetězců obsahující 8 názvů dinosaurů, z nichž dva (na pozicích 1 a 5) končí "saurus". Příklad kódu také definuje metodu predikátu vyhledávání s názvem EndsWithSaurus, která přijímá řetězcový parametr a vrací logickou hodnotu označující, zda vstupní řetězec končí na "saurus".
Přetížení FindLastIndex<T>(T[], Predicate<T>) metody prochází pole zpět od konce a předává každý prvek zase metodě EndsWithSaurus . Hledání se zastaví, když EndsWithSaurus metoda vrátí true prvek na pozici 5.
Note
V jazyce C#, F# a Visual Basic není nutné explicitně vytvořit delegáta Predicate<string> (Predicate(Of String) v Visual Basic). Tyto jazyky odvodí správný delegát z kontextu a vytvoří ho automaticky.
Přetížení FindLastIndex<T>(T[], Int32, Predicate<T>) metody se používá k vyhledávání pole na pozici 4 a pokračuje zpět na začátek pole. Najde prvek na pozici 1. FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) Nakonec se přetížení metody používá k prohledání rozsahu tří prvků začínajících na pozici 4 a práci zpět (to znamená prvky 4, 3 a 2). Vrátí -1, protože v této oblasti nejsou žádné názvy dinosaurů, které končí "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>)
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí index založený na nule posledního výskytu v celém Arrayrozsahu .
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
Parametry typu
- T
Typ prvků pole.
Parametry
- array
- T[]
Jednorozměrný, nulový, který Array se má prohledávat.
- match
- Predicate<T>
Ten Predicate<T> definuje podmínky elementu, který se má vyhledat.
Návraty
Index založený na nule posledního výskytu prvku, který odpovídá podmínkám definovaným matchfunkcí , pokud je nalezen; jinak -1.
Výjimky
Poznámky
Vyhledá se Array zpětně počínaje posledním prvkem a končí na prvním prvku.
Je Predicate<T> delegátem metody, která vrátí true , pokud objekt předaný odpovídá podmínkám definovaným v delegátu.
array Prvky jsou jednotlivě předány Predicate<T>.
Tato metoda je operace O(n), kde n je Length .array
Viz také
- 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>
Platí pro
FindLastIndex<T>(T[], Int32, Predicate<T>)
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí index založený na nule posledního výskytu v rozsahu prvků, Array který se rozšiřuje od prvního prvku na zadaný index.
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
Parametry typu
- T
Typ prvků pole.
Parametry
- array
- T[]
Jednorozměrný, nulový, který Array se má prohledávat.
- startIndex
- Int32
Počáteční index zpětného vyhledávání založený na nule.
- match
- Predicate<T>
Ten Predicate<T> definuje podmínky elementu, který se má vyhledat.
Návraty
Index založený na nule posledního výskytu prvku, který odpovídá podmínkám definovaným matchfunkcí , pokud je nalezen; jinak -1.
Výjimky
startIndex je mimo rozsah platných indexů pro array.
Poznámky
Vyhledá se Array zpětně počínaje startIndex prvním prvkem a končí na prvním prvku.
Je Predicate<T> delegátem metody, která vrátí true , pokud objekt předaný odpovídá podmínkám definovaným v delegátu.
array Prvky jsou jednotlivě předány Predicate<T>.
Tato metoda je operace O(n), kde n je počet prvků od začátku array do startIndex.
Viz také
- 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>
Platí pro
FindLastIndex<T>(T[], Int32, Int32, Predicate<T>)
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
- Zdroj:
- Array.cs
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí index založený na nule posledního výskytu v rozsahu prvků, Array který obsahuje zadaný počet prvků a končí na zadaném indexu.
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
Parametry typu
- T
Typ prvků pole.
Parametry
- array
- T[]
Jednorozměrný, nulový, který Array se má prohledávat.
- startIndex
- Int32
Počáteční index zpětného vyhledávání založený na nule.
- count
- Int32
Počet prvků v oddílu, které se mají prohledávat.
- match
- Predicate<T>
Ten Predicate<T> definuje podmínky elementu, který se má vyhledat.
Návraty
Index založený na nule posledního výskytu prvku, který odpovídá podmínkám definovaným matchfunkcí , pokud je nalezen; jinak -1.
Výjimky
startIndex je mimo rozsah platných indexů pro array.
nebo
Hodnota count je menší než nula.
nebo
startIndex a count nezadávejte platný oddíl v arraysouboru .
Poznámky
Vyhledá se Array zpětně počínaje startIndex a končí na startIndex mínus count plus 1, pokud count je větší než 0.
Je Predicate<T> delegátem metody, která vrátí true , pokud objekt předaný odpovídá podmínkám definovaným v delegátu.
array Prvky jsou jednotlivě předány Predicate<T>.
Tato metoda je operace O(n), kde n je count.
Viz také
- 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>