Array.FindLastIndex Methode
Definitie
Belangrijk
Bepaalde informatie heeft betrekking op een voorlopige productversie die aanzienlijk kan worden gewijzigd voordat deze wordt uitgebracht. Microsoft biedt geen enkele expliciete of impliciete garanties met betrekking tot de informatie die hier wordt verstrekt.
Zoekt naar een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door een opgegeven predicaat en retourneert de op nul gebaseerde index van het laatste exemplaar in een Array of een deel ervan.
Overloads
| Name | Description |
|---|---|
| FindLastIndex<T>(T[], Predicate<T>) |
Zoekt naar een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door het opgegeven predicaat en retourneert de op nul gebaseerde index van het laatste exemplaar binnen het hele Arrayexemplaar. |
| FindLastIndex<T>(T[], Int32, Predicate<T>) |
Zoekt naar een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door het opgegeven predicaat en retourneert de op nul gebaseerde index van het laatste exemplaar binnen het bereik van elementen in het Array bereik van elementen dat van het eerste element naar de opgegeven index uitbreidt. |
| FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) |
Zoekt naar een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door het opgegeven predicaat en retourneert de op nul gebaseerde index van het laatste exemplaar binnen het bereik van elementen in het Array opgegeven aantal elementen en eindigt op de opgegeven index. |
Voorbeelden
In het volgende codevoorbeeld ziet u alle drie de overbelastingen van de FindLastIndex algemene methode. Er wordt een matrix van tekenreeksen gemaakt, met 8 namen van dinosaurussen, waarvan twee (op posities 1 en 5) eindigen op "saurus". Het codevoorbeeld definieert ook een zoekpredicaatmethode met de naam EndsWithSaurus, die een tekenreeksparameter accepteert en een Booleaanse waarde retourneert die aangeeft of de invoertekenreeks eindigt in 'synoniemenlijst'.
De FindLastIndex<T>(T[], Predicate<T>) overbelasting van de methode doorkruist de matrix vanaf het einde en geeft elk element weer door aan de EndsWithSaurus methode. De zoekactie stopt wanneer de EndsWithSaurus methode wordt geretourneerd true voor het element op positie 5.
Note
In C#, F# en Visual Basic hoeft u de Predicate<string> gedelegeerde (Predicate(Of String) in Visual Basic) expliciet te maken. Deze talen afleiden de juiste gemachtigde uit context en maken deze automatisch.
De FindLastIndex<T>(T[], Int32, Predicate<T>) overbelasting van de methode wordt gebruikt om de matrix te doorzoeken vanaf positie 4 en verder naar het begin van de matrix te gaan. Het element wordt gevonden op positie 1. Ten slotte wordt de overbelasting van de FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) methode gebruikt om het bereik van drie elementen te doorzoeken vanaf positie 4 en achteruit te werken (dat wil gezegd, elementen 4, 3 en 2). Het retourneert -1 omdat er geen dinosaurussen in dat bereik zijn die eindigen op "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>)
- Bron:
- Array.cs
- Bron:
- Array.cs
- Bron:
- Array.cs
- Bron:
- Array.cs
- Bron:
- Array.cs
Zoekt naar een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door het opgegeven predicaat en retourneert de op nul gebaseerde index van het laatste exemplaar binnen het hele Arrayexemplaar.
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
Type parameters
- T
Het type van de elementen van de matrix.
Parameters
- array
- T[]
De eendimensionale, op nul gebaseerde Array zoekopdrachten.
- match
- Predicate<T>
Hiermee Predicate<T> definieert u de voorwaarden van het element waarnaar moet worden gezocht.
Retouren
De op nul gebaseerde index van het laatste exemplaar van een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door match, indien gevonden; anders -1.
Uitzonderingen
Opmerkingen
Het Array wordt achterwaarts gezocht vanaf het laatste element en eindigt op het eerste element.
Dit Predicate<T> is een gemachtigde voor een methode die retourneert true als het object dat eraan is doorgegeven, overeenkomt met de voorwaarden die zijn gedefinieerd in de gemachtigde. De elementen worden array afzonderlijk doorgegeven aan de Predicate<T>.
Deze methode is een O(n)-bewerking, waarbij n de Length van array.
Zie ook
- 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>
Van toepassing op
FindLastIndex<T>(T[], Int32, Predicate<T>)
- Bron:
- Array.cs
- Bron:
- Array.cs
- Bron:
- Array.cs
- Bron:
- Array.cs
- Bron:
- Array.cs
Zoekt naar een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door het opgegeven predicaat en retourneert de op nul gebaseerde index van het laatste exemplaar binnen het bereik van elementen in het Array bereik van elementen dat van het eerste element naar de opgegeven index uitbreidt.
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
Type parameters
- T
Het type van de elementen van de matrix.
Parameters
- array
- T[]
De eendimensionale, op nul gebaseerde Array zoekopdrachten.
- startIndex
- Int32
De op nul gebaseerde beginindex van de achterwaartse zoekopdracht.
- match
- Predicate<T>
Hiermee Predicate<T> definieert u de voorwaarden van het element waarnaar moet worden gezocht.
Retouren
De op nul gebaseerde index van het laatste exemplaar van een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door match, indien gevonden; anders -1.
Uitzonderingen
startIndex valt buiten het bereik van geldige indexen voor array.
Opmerkingen
Het Array wordt achterwaarts gezocht vanaf startIndex het eerste element en eindigt op het eerste element.
Dit Predicate<T> is een gemachtigde voor een methode die retourneert true als het object dat eraan is doorgegeven, overeenkomt met de voorwaarden die zijn gedefinieerd in de gemachtigde. De elementen worden array afzonderlijk doorgegeven aan de Predicate<T>.
Deze methode is een O(n)-bewerking, waarbij n het aantal elementen van begin array tot startIndexen met .
Zie ook
- 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>
Van toepassing op
FindLastIndex<T>(T[], Int32, Int32, Predicate<T>)
- Bron:
- Array.cs
- Bron:
- Array.cs
- Bron:
- Array.cs
- Bron:
- Array.cs
- Bron:
- Array.cs
Zoekt naar een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door het opgegeven predicaat en retourneert de op nul gebaseerde index van het laatste exemplaar binnen het bereik van elementen in het Array opgegeven aantal elementen en eindigt op de opgegeven index.
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
Type parameters
- T
Het type van de elementen van de matrix.
Parameters
- array
- T[]
De eendimensionale, op nul gebaseerde Array zoekopdrachten.
- startIndex
- Int32
De op nul gebaseerde beginindex van de achterwaartse zoekopdracht.
- count
- Int32
Het aantal elementen in de sectie dat moet worden gezocht.
- match
- Predicate<T>
Hiermee Predicate<T> definieert u de voorwaarden van het element waarnaar moet worden gezocht.
Retouren
De op nul gebaseerde index van het laatste exemplaar van een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door match, indien gevonden; anders -1.
Uitzonderingen
startIndex valt buiten het bereik van geldige indexen voor array.
– of –
count is kleiner dan nul.
– of –
startIndex en count geef geen geldige sectie op in array.
Opmerkingen
De Array zoekopdracht begint achterwaarts bij startIndex en eindigt op startIndex min count plus 1, als count deze groter is dan 0.
Dit Predicate<T> is een gemachtigde voor een methode die retourneert true als het object dat eraan is doorgegeven, overeenkomt met de voorwaarden die zijn gedefinieerd in de gemachtigde. De elementen worden array afzonderlijk doorgegeven aan de Predicate<T>.
Deze methode is een O(n)-bewerking, waarbij n .count
Zie ook
- 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>