Array.FindIndex Methode

Definitie

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 eerste exemplaar in een Array of een deel ervan.

Overloads

Name Description
FindIndex<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 eerste exemplaar binnen het hele Arrayexemplaar.

FindIndex<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 eerste exemplaar binnen het bereik van elementen in de Array opgegeven index tot het laatste element.

FindIndex<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 eerste exemplaar binnen het bereik van elementen in de Array opgegeven index en bevat het opgegeven aantal elementen.

Voorbeelden

In het volgende codevoorbeeld ziet u alle drie de overbelastingen van de FindIndex 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 FindIndex<T>(T[], Predicate<T>) overbelasting van de methode doorkruist de matrix vanaf het begin en geeft elk element weer door aan de EndsWithSaurus methode. De zoekopdracht stopt wanneer de EndsWithSaurus methode wordt geretourneerd true voor het element op positie 1.

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 FindIndex<T>(T[], Int32, Predicate<T>) overbelasting van de methode wordt gebruikt om de matrix te doorzoeken vanaf positie 2 en verder te gaan naar het einde van de matrix. Het element wordt gevonden op positie 5. Ten slotte wordt de overbelasting van de FindIndex<T>(T[], Int32, Int32, Predicate<T>) methode gebruikt om het bereik van drie elementen te doorzoeken vanaf positie 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.FindIndex(dinosaurs, EndsWithSaurus): {0}",
            Array.FindIndex(dinosaurs, EndsWithSaurus));

        Console.WriteLine(
            "\nArray.FindIndex(dinosaurs, 2, EndsWithSaurus): {0}",
            Array.FindIndex(dinosaurs, 2, EndsWithSaurus));

        Console.WriteLine(
            "\nArray.FindIndex(dinosaurs, 2, 3, EndsWithSaurus): {0}",
            Array.FindIndex(dinosaurs, 2, 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.FindIndex(dinosaurs, EndsWithSaurus): 1

Array.FindIndex(dinosaurs, 2, EndsWithSaurus): 5

Array.FindIndex(dinosaurs, 2, 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.FindIndex(dinosaurs, endsWithSaurus)
|> printfn "\nArray.FindIndex(dinosaurs, EndsWithSaurus): %i"

Array.FindIndex(dinosaurs, 2, endsWithSaurus)
|> printfn "\nArray.FindIndex(dinosaurs, 2, EndsWithSaurus): %i"

Array.FindIndex(dinosaurs, 2, 3, endsWithSaurus)
|> printfn "\nArray.FindIndex(dinosaurs, 2, 3, EndsWithSaurus): %i"


// This code example produces the following output:
//
//     Compsognathus
//     Amargasaurus
//     Oviraptor
//     Velociraptor
//     Deinonychus
//     Dilophosaurus
//     Gallimimus
//     Triceratops
//
//     Array.FindIndex(dinosaurs, EndsWithSaurus): 1
//
//     Array.FindIndex(dinosaurs, 2, EndsWithSaurus): 5
//
//     Array.FindIndex(dinosaurs, 2, 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.FindIndex(dinosaurs, AddressOf EndsWithSaurus): {0}", _
            Array.FindIndex(dinosaurs, AddressOf EndsWithSaurus))

        Console.WriteLine(vbLf & _
            "Array.FindIndex(dinosaurs, 2, AddressOf EndsWithSaurus): {0}", _
            Array.FindIndex(dinosaurs, 2, AddressOf EndsWithSaurus))

        Console.WriteLine(vbLf & _
            "Array.FindIndex(dinosaurs, 2, 3, AddressOf EndsWithSaurus): {0}", _
            Array.FindIndex(dinosaurs, 2, 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.FindIndex(dinosaurs, AddressOf EndsWithSaurus): 1
'
'Array.FindIndex(dinosaurs, 2, AddressOf EndsWithSaurus): 5
'
'Array.FindIndex(dinosaurs, 2, 3, AddressOf EndsWithSaurus): -1

FindIndex<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 eerste exemplaar binnen het hele Arrayexemplaar.

public:
generic <typename T>
 static int FindIndex(cli::array <T> ^ array, Predicate<T> ^ match);
public static int FindIndex<T>(T[] array, Predicate<T> match);
static member FindIndex : 'T[] * Predicate<'T> -> int
Public Shared Function FindIndex(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 eerste exemplaar van een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door match, indien gevonden; anders -1.

Uitzonderingen

array is null.

– of –

match is null.

Opmerkingen

De Array zoekopdracht wordt doorgestuurd vanaf het eerste element en eindigt op het laatste 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

Van toepassing op

FindIndex<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 eerste exemplaar binnen het bereik van elementen in de Array opgegeven index tot het laatste element.

public:
generic <typename T>
 static int FindIndex(cli::array <T> ^ array, int startIndex, Predicate<T> ^ match);
public static int FindIndex<T>(T[] array, int startIndex, Predicate<T> match);
static member FindIndex : 'T[] * int * Predicate<'T> -> int
Public Shared Function FindIndex(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 startindex van de 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 eerste exemplaar van een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door match, indien gevonden; anders -1.

Uitzonderingen

array is null.

– of –

match is null.

startIndex is kleiner dan nul of groter dan de lengte van de array.

Opmerkingen

De Array zoekopdracht begint bij startIndex en eindigt op het laatste 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 startIndex tot het einde van array.

Zie ook

Van toepassing op

FindIndex<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 eerste exemplaar binnen het bereik van elementen in de Array opgegeven index en bevat het opgegeven aantal elementen.

public:
generic <typename T>
 static int FindIndex(cli::array <T> ^ array, int startIndex, int count, Predicate<T> ^ match);
public static int FindIndex<T>(T[] array, int startIndex, int count, Predicate<T> match);
static member FindIndex : 'T[] * int * int * Predicate<'T> -> int
Public Shared Function FindIndex(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 startindex van de 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 eerste exemplaar van een element dat overeenkomt met de voorwaarden die zijn gedefinieerd door match, indien gevonden; anders -1.

Uitzonderingen

array is null.

– of –

match is null.

startIndex is kleiner dan nul of groter dan de lengte van de array.

– of –

count is kleiner dan nul.

– of –

startIndex en count geef geen geldige sectie op in array.

Opmerkingen

De Array zoekopdracht begint bij startIndex en eindigt op startIndex plus count min 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

Van toepassing op