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í nulový index posledního výskytu v rámci Array nebo jeho části.
Přetížení
FindLastIndex<T>(T[], Predicate<T>) |
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí nulový index posledního výskytu v rámci celého Arrayobjektu . |
FindLastIndex<T>(T[], Int32, Predicate<T>) |
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí nulový index posledního výskytu v rozsahu prvků v Array oblasti, která se rozšiřuje od prvního prvku k zadanému indexu. |
FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) |
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí nulový index posledního výskytu v rozsahu prvků v objektu Array , který obsahuje zadaný počet prvků a končí na zadaném indexu. |
Příklady
Následující příklad kódu ukazuje všechna tři přetížení FindLastIndex obecné metody. Je vytvořeno pole řetězců obsahující názvy osmi druhů dinosaurů, z nichž dva (na pozicích 1 a 5) končí na "saurus". Příklad kódu také definuje metodu predikátu vyhledávání s názvem EndsWithSaurus
, která přijímá parametr řetězce 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 metodě EndsWithSaurus
. Hledání se zastaví, EndsWithSaurus
když metoda vrátí true
prvek na pozici 5.
Poznámka
V jazyce C#, F# a Visual Basic není nutné explicitně vytvářet Predicate<string>
delegáta (Predicate(Of String)
v jazyce Visual Basic). Tyto jazyky odvozují správného delegáta z kontextu a vytvoří jej automaticky.
Přetížení FindLastIndex<T>(T[], Int32, Predicate<T>) metody se používá k vyhledávání pole počínaje 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 vyhledávání rozsahu tří prvků, které začínají na pozici 4 a pracují dozadu (to znamená prvky 4, 3 a 2). Vrátí hodnotu -1, protože v této oblasti nejsou žádná jména dinosaurů, která končí na "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>)
- 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í nulový index posledního výskytu v rámci celého Arrayobjektu .
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é hledání založené na Array nule.
- match
- Predicate<T>
Ten Predicate<T> , který definuje podmínky prvku, který se má hledat.
Návraty
Index založený na nule posledního výskytu elementu, který odpovídá podmínkám definovaným v match
, pokud je nalezen; v opačném případě -1.
Výjimky
Poznámky
Prohledá Array se zpět, počínaje posledním prvkem a končící prvním prvkem.
Je Predicate<T> delegátem metody, která vrací true
, pokud objekt předaný do něj odpovídá podmínkám definovaným v delegátu. Prvky jsou array
jednotlivě předány do Predicate<T>.
Tato metoda je operace O(n
), kde n
je hodnota 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
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí nulový index posledního výskytu v rozsahu prvků v Array oblasti, která se rozšiřuje od prvního prvku k zadanému indexu.
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é hledání založené na Array nule.
- startIndex
- Int32
Počáteční index zpětného vyhledávání začínající od nuly.
- match
- Predicate<T>
Ten Predicate<T> , který definuje podmínky prvku, který se má hledat.
Návraty
Index založený na nule posledního výskytu elementu, který odpovídá podmínkám definovaným v match
, pokud je nalezen; v opačném případě -1.
Výjimky
startIndex
je mimo rozsah platných indexů pro array
.
Poznámky
Prohledá Array se zpět, počínaje a startIndex
končící na prvním prvku.
Je Predicate<T> delegátem metody, která vrací true
, pokud objekt předaný do něj odpovídá podmínkám definovaným v delegátu. Prvky jsou array
jednotlivě předány do 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
Vyhledá prvek, který odpovídá podmínkám definovaným zadaným predikátem, a vrátí nulový index posledního výskytu v rozsahu prvků v objektu 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é hledání založené na Array nule.
- startIndex
- Int32
Počáteční index zpětného vyhledávání začínající od nuly.
- count
- Int32
Počet prvků v prohledávané části.
- match
- Predicate<T>
Ten Predicate<T> , který definuje podmínky prvku, který se má hledat.
Návraty
Index založený na nule posledního výskytu elementu, který odpovídá podmínkám definovaným v match
, pokud je nalezen; v opačném případě -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 array
souboru .
Poznámky
Prohledá Array se zpět počínaje startIndex
a končící startIndex
mínus count
plus 1, pokud count
je větší než 0.
Je Predicate<T> delegátem metody, která vrací true
, pokud objekt předaný do něj odpovídá podmínkám definovaným v delegátu. Prvky jsou array
jednotlivě předány do 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>