Array.FindLastIndex Methode
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
Sucht nach einem Element, das den von einem angegebenen Prädikat definierten Bedingungen entspricht, und gibt den nullbasierten Index des letzten Vorkommens innerhalb eines Array oder eines Teils davon zurück.
Überlädt
| Name | Beschreibung |
|---|---|
| FindLastIndex<T>(T[], Predicate<T>) |
Sucht nach einem Element, das den vom angegebenen Prädikat definierten Bedingungen entspricht, und gibt den nullbasierten Index des letzten Vorkommens innerhalb des gesamten ArrayZurück. |
| FindLastIndex<T>(T[], Int32, Predicate<T>) |
Sucht nach einem Element, das den von dem angegebenen Prädikat definierten Bedingungen entspricht, und gibt den nullbasierten Index des letzten Vorkommens innerhalb des Bereichs der Elemente in dem Array Bereich zurück, der sich vom ersten Element bis zum angegebenen Index erstreckt. |
| FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) |
Sucht nach einem Element, das den vom angegebenen Prädikat definierten Bedingungen entspricht, und gibt den nullbasierten Index des letzten Vorkommens innerhalb des Bereichs der Elemente in der Liste zurück, die Array die angegebene Anzahl von Elementen enthält und am angegebenen Index endet. |
Beispiele
Im folgenden Codebeispiel werden alle drei Überladungen der FindLastIndex generischen Methode veranschaulicht. Es wird ein Array von Zeichenfolgen erstellt, das 8 Dinosauriernamen enthält, von denen zwei (an den Positionen 1 und 5) mit "saurus" enden. Im Codebeispiel wird auch eine Suchprädikatmethode namens EndsWithSaurusdefiniert, die einen Zeichenfolgenparameter akzeptiert und einen booleschen Wert zurückgibt, der angibt, ob die Eingabezeichenfolge in "saurus" endet.
Die FindLastIndex<T>(T[], Predicate<T>) Methodenüberladung durchläuft das Array rückwärts vom Ende, wobei jedes Element wiederum an die EndsWithSaurus Methode übergeben wird. Die Suche wird beendet, wenn die EndsWithSaurus Methode für das Element an Position 5 zurückgibt true .
Note
In C#, F# und Visual Basic ist es nicht erforderlich, den Predicate<string> Delegat (Predicate(Of String) in Visual Basic) explizit zu erstellen. In diesen Sprachen wird der richtige Delegat aus dem Kontext abgeleitet und automatisch erstellt.
Die FindLastIndex<T>(T[], Int32, Predicate<T>) Methodenüberladung wird verwendet, um das Array ab Position 4 zu durchsuchen und den Anfang des Arrays rückwärts fortzusetzen. Es findet das Element an Position 1. Schließlich wird die FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) Methodenüberladung verwendet, um den Bereich von drei Elementen zu durchsuchen, die an Position 4 beginnen und rückwärts arbeiten (d. s. Elemente 4, 3 und 2). Es gibt -1 zurück, da es keine Dinosauriernamen in diesem Bereich gibt, die mit "saurus" enden.
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>)
- Quelle:
- Array.cs
- Quelle:
- Array.cs
- Quelle:
- Array.cs
- Quelle:
- Array.cs
- Quelle:
- Array.cs
Sucht nach einem Element, das den vom angegebenen Prädikat definierten Bedingungen entspricht, und gibt den nullbasierten Index des letzten Vorkommens innerhalb des gesamten ArrayZurück.
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
Typparameter
- T
Der Typ der Elemente des Arrays.
Parameter
- array
- T[]
Die eindimensionale, nullbasierte Array Suche.
- match
- Predicate<T>
Das Predicate<T> definiert die Bedingungen des elements, nach dem gesucht werden soll.
Gibt zurück
Der nullbasierte Index des letzten Vorkommens eines Elements, das den von match, falls gefundenen Bedingungen entspricht, andernfalls -1.
Ausnahmen
Hinweise
Die Array Suche erfolgt rückwärts beginnend am letzten Element und endet mit dem ersten Element.
Dies Predicate<T> ist ein Delegat an eine Methode, die zurückgibt true , wenn das an sie übergebene Objekt den in der Stellvertretung definierten Bedingungen entspricht. Die Elemente werden array einzeln an die Predicate<T>.
Bei dieser Methode handelt es sich um einen O()-Vorgang, bei dem n es sich um einen n OLength(array)-Vorgang handelt.
Weitere Informationen
- 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>
Gilt für:
FindLastIndex<T>(T[], Int32, Predicate<T>)
- Quelle:
- Array.cs
- Quelle:
- Array.cs
- Quelle:
- Array.cs
- Quelle:
- Array.cs
- Quelle:
- Array.cs
Sucht nach einem Element, das den von dem angegebenen Prädikat definierten Bedingungen entspricht, und gibt den nullbasierten Index des letzten Vorkommens innerhalb des Bereichs der Elemente in dem Array Bereich zurück, der sich vom ersten Element bis zum angegebenen Index erstreckt.
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
Typparameter
- T
Der Typ der Elemente des Arrays.
Parameter
- array
- T[]
Die eindimensionale, nullbasierte Array Suche.
- startIndex
- Int32
Der nullbasierte Startindex der Rückwärtssuche.
- match
- Predicate<T>
Das Predicate<T> definiert die Bedingungen des elements, nach dem gesucht werden soll.
Gibt zurück
Der nullbasierte Index des letzten Vorkommens eines Elements, das den von match, falls gefundenen Bedingungen entspricht, andernfalls -1.
Ausnahmen
startIndex liegt außerhalb des Bereichs gültiger Indizes für array.
Hinweise
Die Array Suche erfolgt rückwärts beginnend mit startIndex dem ersten Element und endet mit dem ersten Element.
Dies Predicate<T> ist ein Delegat an eine Methode, die zurückgibt true , wenn das an sie übergebene Objekt den in der Stellvertretung definierten Bedingungen entspricht. Die Elemente werden array einzeln an die Predicate<T>.
Diese Methode ist ein O(n)-Vorgang, wobei n die Anzahl der Elemente vom Anfang bis array zum startIndex.
Weitere Informationen
- 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>
Gilt für:
FindLastIndex<T>(T[], Int32, Int32, Predicate<T>)
- Quelle:
- Array.cs
- Quelle:
- Array.cs
- Quelle:
- Array.cs
- Quelle:
- Array.cs
- Quelle:
- Array.cs
Sucht nach einem Element, das den vom angegebenen Prädikat definierten Bedingungen entspricht, und gibt den nullbasierten Index des letzten Vorkommens innerhalb des Bereichs der Elemente in der Liste zurück, die Array die angegebene Anzahl von Elementen enthält und am angegebenen Index endet.
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
Typparameter
- T
Der Typ der Elemente des Arrays.
Parameter
- array
- T[]
Die eindimensionale, nullbasierte Array Suche.
- startIndex
- Int32
Der nullbasierte Startindex der Rückwärtssuche.
- count
- Int32
Die Anzahl der zu durchsuchenden Elemente im Abschnitt.
- match
- Predicate<T>
Das Predicate<T> definiert die Bedingungen des elements, nach dem gesucht werden soll.
Gibt zurück
Der nullbasierte Index des letzten Vorkommens eines Elements, das den von match, falls gefundenen Bedingungen entspricht, andernfalls -1.
Ausnahmen
startIndex liegt außerhalb des Bereichs gültiger Indizes für array.
-oder-
count ist kleiner als 0 (null).
-oder-
startIndex und count geben Sie keinen gültigen Abschnitt in array.
Hinweise
Die Array Suche beginnt mit startIndex minus 1 und endet startIndex mit minus count 1, wenn count größer als 0 ist.
Dies Predicate<T> ist ein Delegat an eine Methode, die zurückgibt true , wenn das an sie übergebene Objekt den in der Stellvertretung definierten Bedingungen entspricht. Die Elemente werden array einzeln an die Predicate<T>.
Bei dieser Methode handelt es sich um einen O()-Vorgang, wobei n es sich um einen O(n)-Vorgang handeltcount.
Weitere Informationen
- 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>