Array.FindLastIndex Metode

Definisi

Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat tertentu, dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam satu Array atau sebagiannya.

Overload

Nama Deskripsi
FindLastIndex<T>(T[], Predicate<T>)

Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam seluruh Array.

FindLastIndex<T>(T[], Int32, Predicate<T>)

Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam rentang elemen dalam Array yang meluas dari elemen pertama ke indeks yang ditentukan.

FindLastIndex<T>(T[], Int32, Int32, Predicate<T>)

Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam rentang elemen dalam Array yang berisi jumlah elemen yang ditentukan dan berakhir pada indeks yang ditentukan.

Contoh

Contoh kode berikut menunjukkan ketiga kelebihan beban FindLastIndex metode generik. Array string dibuat, berisi 8 nama dinosang, dua di antaranya (pada posisi 1 dan 5) berakhir dengan "saurus". Contoh kode juga mendefinisikan metode predikat pencarian bernama EndsWithSaurus, yang menerima parameter string dan mengembalikan nilai Boolean yang menunjukkan apakah string input berakhiran "saurus".

Metode FindLastIndex<T>(T[], Predicate<T>) kelebihan beban melintasi array mundur dari akhir, meneruskan setiap elemen pada gilirannya ke EndsWithSaurus metode . Pencarian berhenti ketika EndsWithSaurus metode kembali true untuk elemen pada posisi 5.

Note

Di C#, F# dan Visual Basic, tidak perlu membuat delegasi Predicate<string> (Predicate(Of String) di Visual Basic) secara eksplisit. Bahasa-bahasa ini menyimpulkan delegasi yang benar dari konteks dan membuatnya secara otomatis.

Metode FindLastIndex<T>(T[], Int32, Predicate<T>) kelebihan beban digunakan untuk mencari array yang dimulai pada posisi 4 dan melanjutkan mundur ke awal array. Ini menemukan elemen pada posisi 1. Akhirnya, FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) metode kelebihan beban digunakan untuk mencari rentang tiga elemen yang dimulai pada posisi 4 dan bekerja mundur (yaitu, elemen 4, 3, dan 2). Ini mengembalikan -1 karena tidak ada nama dinosang dalam rentang itu yang berakhiran "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>)

Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam seluruh Array.

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

Jenis parameter

T

Jenis elemen array.

Parameter

array
T[]

Berbasis satu dimensi dan nol Array untuk dicari.

match
Predicate<T>

Predicate<T> yang menentukan kondisi elemen yang akan dicari.

Mengembalikan

Indeks berbasis nol dari kemunculan terakhir elemen yang cocok dengan kondisi yang ditentukan oleh match, jika ditemukan; jika tidak, -1.

Pengecualian

array adalah null.

-atau-

match adalah null.

Keterangan

Array dicari mundur mulai dari elemen terakhir dan berakhir pada elemen pertama.

Predicate<T> adalah delegasi ke metode yang mengembalikan true jika objek yang diteruskan ke metode tersebut cocok dengan kondisi yang ditentukan dalam delegasi. Elemen masing-masing array diteruskan ke Predicate<T>.

Metode ini adalah operasi O(n), di mana n adalah Length dari array.

Lihat juga

Berlaku untuk

FindLastIndex<T>(T[], Int32, Predicate<T>)

Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam rentang elemen dalam Array yang meluas dari elemen pertama ke indeks yang ditentukan.

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

Jenis parameter

T

Jenis elemen array.

Parameter

array
T[]

Berbasis satu dimensi dan nol Array untuk dicari.

startIndex
Int32

Indeks awal berbasis nol dari pencarian mundur.

match
Predicate<T>

Predicate<T> yang menentukan kondisi elemen yang akan dicari.

Mengembalikan

Indeks berbasis nol dari kemunculan terakhir elemen yang cocok dengan kondisi yang ditentukan oleh match, jika ditemukan; jika tidak, -1.

Pengecualian

array adalah null.

-atau-

match adalah null.

startIndex berada di luar rentang indeks yang valid untuk array.

Keterangan

Array dicari mundur mulai dari startIndex dan berakhir pada elemen pertama.

Predicate<T> adalah delegasi ke metode yang mengembalikan true jika objek yang diteruskan ke metode tersebut cocok dengan kondisi yang ditentukan dalam delegasi. Elemen masing-masing array diteruskan ke Predicate<T>.

Metode ini adalah operasi O(n), di mana n adalah jumlah elemen dari awal array hingga startIndex.

Lihat juga

Berlaku untuk

FindLastIndex<T>(T[], Int32, Int32, Predicate<T>)

Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan terakhir dalam rentang elemen dalam Array yang berisi jumlah elemen yang ditentukan dan berakhir pada indeks yang ditentukan.

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

Jenis parameter

T

Jenis elemen array.

Parameter

array
T[]

Berbasis satu dimensi dan nol Array untuk dicari.

startIndex
Int32

Indeks awal berbasis nol dari pencarian mundur.

count
Int32

Jumlah elemen di bagian untuk dicari.

match
Predicate<T>

Predicate<T> yang menentukan kondisi elemen yang akan dicari.

Mengembalikan

Indeks berbasis nol dari kemunculan terakhir elemen yang cocok dengan kondisi yang ditentukan oleh match, jika ditemukan; jika tidak, -1.

Pengecualian

array adalah null.

-atau-

match adalah null.

startIndex berada di luar rentang indeks yang valid untuk array.

-atau-

count kurang dari nol.

-atau-

startIndex dan count jangan tentukan bagian yang valid di array.

Keterangan

Array dicari mundur mulai dari startIndex dan berakhir pada startIndex minus count plus 1, jika count lebih besar dari 0.

Predicate<T> adalah delegasi ke metode yang mengembalikan true jika objek yang diteruskan ke metode tersebut cocok dengan kondisi yang ditentukan dalam delegasi. Elemen masing-masing array diteruskan ke Predicate<T>.

Metode ini adalah operasi O(n), di mana n adalah count.

Lihat juga

Berlaku untuk