Array.FindLastIndex Yöntem

Tanım

Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve bir veya bir bölümü içinde Array son oluşumun sıfır tabanlı dizinini döndürür.

Aşırı Yüklemeler

Name Description
FindLastIndex<T>(T[], Predicate<T>)

Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve içindeki Arrayson oluşumun sıfır tabanlı dizinini döndürür.

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

Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve içindeki öğe aralığındaki ilk öğeden Array belirtilen dizine kadar uzanan son oluşumun sıfır tabanlı dizinini döndürür.

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

Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve öğesinde belirtilen öğe sayısını içeren ve belirtilen dizinde Array biten öğe aralığındaki son oluşumun sıfır tabanlı dizinini döndürür.

Örnekler

Aşağıdaki kod örneği, genel yöntemin üç aşırı yüklemesini FindLastIndex de gösterir. İkisi (konum 1 ve 5'te) "saurus" ile biten 8 dinozor adını içeren bir dizi dize oluşturulur. Kod örneği, bir dize parametresi kabul eden ve giriş dizesinin "saurus" ile bitip bitmediğini belirten bir Boole değeri döndüren adlı EndsWithSaurusbir arama koşulu yöntemini de tanımlar.

Yöntem FindLastIndex<T>(T[], Predicate<T>) aşırı yüklemesi, her öğeyi sırayla yöntemine geçirerek diziyi sonundan EndsWithSaurus geriye doğru geçirir. Yöntem 5 konumundaki EndsWithSaurus öğe için döndürdüğünde true arama durdurulur.

Note

C#, F# ve Visual Basic'da, Predicate<string> temsilcisinin (Visual Basic'da Predicate(Of String)) açıkça oluşturulması gerekmez. Bu diller, bağlamdan doğru temsilciyi çıkarsar ve otomatik olarak oluşturur.

Yöntem FindLastIndex<T>(T[], Int32, Predicate<T>) aşırı yüklemesi, 4 konumundan başlayıp dizinin başına geri doğru devam eden dizide arama yapmak için kullanılır. 1 konumundaki öğesini bulur. Son olarak, FindLastIndex<T>(T[], Int32, Int32, Predicate<T>) yöntem aşırı yüklemesi 4 konumundan başlayıp geriye doğru çalışan üç öğe (4, 3 ve 2 öğeleri) aralığını aramak için kullanılır. -1 döndürür çünkü bu aralıkta "eş anlamlılar" ile biten dinozor adları yoktur.

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>)

Kaynak:
Array.cs
Kaynak:
Array.cs
Kaynak:
Array.cs
Kaynak:
Array.cs
Kaynak:
Array.cs

Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve içindeki Arrayson oluşumun sıfır tabanlı dizinini döndürür.

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

Tür Parametreleri

T

Dizinin öğelerinin türü.

Parametreler

array
T[]

Aranacak tek boyutlu, sıfır tabanlı Array .

match
Predicate<T>

Predicate<T> Aranacak öğenin koşullarını tanımlayan.

Döndürülenler

Bir öğenin son oluşumunun, bulunursa tarafından tanımlanan koşullarla matcheşleşen sıfır tabanlı dizini; aksi takdirde -1.

Özel durumlar

array, null'e eşittir.

-veya-

match, null'e eşittir.

Açıklamalar

Array, son öğeden başlayıp ilk öğede sona ererek geriye doğru arandı.

, Predicate<T> geçirilen nesne temsilcide tanımlanan koşullarla eşleşiyorsa döndüren true bir yöntemin temsilcisidir. öğeleri array tek tek öğesine Predicate<T>geçirilir.

Bu yöntem bir O(n) işlemidir; burada n değeridir Lengtharray.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Array.cs
Kaynak:
Array.cs
Kaynak:
Array.cs
Kaynak:
Array.cs
Kaynak:
Array.cs

Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve içindeki öğe aralığındaki ilk öğeden Array belirtilen dizine kadar uzanan son oluşumun sıfır tabanlı dizinini döndürür.

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

Tür Parametreleri

T

Dizinin öğelerinin türü.

Parametreler

array
T[]

Aranacak tek boyutlu, sıfır tabanlı Array .

startIndex
Int32

Geriye dönük aramanın sıfır tabanlı başlangıç dizini.

match
Predicate<T>

Predicate<T> Aranacak öğenin koşullarını tanımlayan.

Döndürülenler

Bir öğenin son oluşumunun, bulunursa tarafından tanımlanan koşullarla matcheşleşen sıfır tabanlı dizini; aksi takdirde -1.

Özel durumlar

array, null'e eşittir.

-veya-

match, null'e eşittir.

startIndex için geçerli dizin arrayaralığının dışındadır.

Açıklamalar

Array öğesinden startIndex başlayıp ilk öğede sona ererek geriye doğru arandı.

, Predicate<T> geçirilen nesne temsilcide tanımlanan koşullarla eşleşiyorsa döndüren true bir yöntemin temsilcisidir. öğeleri array tek tek öğesine Predicate<T>geçirilir.

Bu yöntem bir O(n) işlemidir; burada n öğesinin başından öğesine arraystartIndexkadar olan öğe sayısıdır.

Ayrıca bkz.

Şunlara uygulanır

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

Kaynak:
Array.cs
Kaynak:
Array.cs
Kaynak:
Array.cs
Kaynak:
Array.cs
Kaynak:
Array.cs

Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve öğesinde belirtilen öğe sayısını içeren ve belirtilen dizinde Array biten öğe aralığındaki son oluşumun sıfır tabanlı dizinini döndürür.

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

Tür Parametreleri

T

Dizinin öğelerinin türü.

Parametreler

array
T[]

Aranacak tek boyutlu, sıfır tabanlı Array .

startIndex
Int32

Geriye dönük aramanın sıfır tabanlı başlangıç dizini.

count
Int32

Bölümde aranacak öğe sayısı.

match
Predicate<T>

Predicate<T> Aranacak öğenin koşullarını tanımlayan.

Döndürülenler

Bir öğenin son oluşumunun, bulunursa tarafından tanımlanan koşullarla matcheşleşen sıfır tabanlı dizini; aksi takdirde -1.

Özel durumlar

array, null'e eşittir.

-veya-

match, null'e eşittir.

startIndex için geçerli dizin arrayaralığının dışındadır.

-veya-

count, sıfırdan küçüktür.

-veya-

startIndex ve count içinde arraygeçerli bir bölüm belirtmeyin.

Açıklamalar

Array, 0'dan startIndex büyükse startIndex eksi count artı 1 ile count başlayıp biten geriye doğru aranılır.

, Predicate<T> geçirilen nesne temsilcide tanımlanan koşullarla eşleşiyorsa döndüren true bir yöntemin temsilcisidir. öğeleri array tek tek öğesine Predicate<T>geçirilir.

Bu yöntem bir O(n) işlemidir; burada n olur count.

Ayrıca bkz.

Şunlara uygulanır