Array.FindLastIndex Yöntem
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
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
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 ilk öğeden belirtilen dizine kadar uzanan öğe Array aralığındaki 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 Array belirtilen sayıda öğe içeren ve belirtilen dizinde 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. 8 dinozor adı içeren dizelerden oluşan bir dizi oluşturulur, bunlardan ikisi (1 ve 5 konumundakiler) "saurus" ile bitmektedir. Kod örneği ayrıca, bir dize parametresi kabul eden ve giriş dizesinin "eş anlamlılar" ile bitip bitmediğini belirten bir Boole değeri döndüren adlı EndsWithSaurus
arama koşulu yöntemini tanımlar.
Yöntem FindLastIndex<T>(T[], Predicate<T>) aşırı yüklemesi, diziyi sonundan geriye doğru geçirir ve her öğeyi sırayla yöntemine EndsWithSaurus
geçirir. Yöntem 5 konumundaki EndsWithSaurus
öğe için döndürdüğünde true
arama durdurulur.
Not
C#, F# ve Visual Basic'te, temsilcinin Predicate<string>
(Predicate(Of String)
Visual Basic'te) açıkça oluşturulması gerekmez. Bu diller doğru temsilciyi bağlamdan çıkarır 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 doğru devam ederek 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 (4, 3 ve 2 öğeleri) üç öğenin aralığını aramak için kullanılır. Bu aralıkta "eş anlamlılar" ile biten dinozor adları olmadığından -1 değerini döndürür.
using namespace System;
// Search predicate returns true if a string ends in "saurus".
bool EndsWithSaurus(String^ s)
{
if ((s->Length > 5) &&
(s->Substring(s->Length - 6)->ToLower() == "saurus"))
{
return true;
}
else
{
return false;
}
};
void main()
{
array<String^>^ dinosaurs = { "Compsognathus",
"Amargasaurus", "Oviraptor", "Velociraptor",
"Deinonychus", "Dilophosaurus", "Gallimimus",
"Triceratops" };
Console::WriteLine();
for each(String^ dinosaur in dinosaurs )
{
Console::WriteLine(dinosaur);
}
Console::WriteLine("\nArray::FindLastIndex(dinosaurs, EndsWithSaurus): {0}",
Array::FindLastIndex(dinosaurs, gcnew Predicate<String^>(EndsWithSaurus)));
Console::WriteLine("\nArray::FindLastIndex(dinosaurs, 4, EndsWithSaurus): {0}",
Array::FindLastIndex(dinosaurs, 4, gcnew Predicate<String^>(EndsWithSaurus)));
Console::WriteLine("\nArray::FindLastIndex(dinosaurs, 4, 3, EndsWithSaurus): {0}",
Array::FindLastIndex(dinosaurs, 4, 3, gcnew Predicate<String^>(EndsWithSaurus)));
}
/* 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
*/
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
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 öğelerini türü.
Parametreler
- array
- T[]
Arama için tek boyutlu, sıfır tabanlı Array .
- match
- Predicate<T>
Predicate<T> Aranacak öğenin koşullarını tanımlayan.
Döndürülenler
tarafından tanımlanan koşullarla match
eşleşen bir öğenin son oluşumunun sıfır tabanlı dizini; bulunursa, aksi takdirde -1.
Özel durumlar
Açıklamalar
, Array son öğeden başlayıp ilk öğeyle biten geriye doğru arandı.
, Predicate<T> nesnesine geçirilen nesnenin temsilcide tanımlanan koşullarla eşleşmesi durumunda 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 ve burada n
değeridir Lengtharray
.
Ayrıca bkz.
- 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>
Şunlara uygulanır
FindLastIndex<T>(T[], Int32, Predicate<T>)
- 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 ilk öğeden belirtilen dizine kadar uzanan öğe Array 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, 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 öğelerini türü.
Parametreler
- array
- T[]
Arama için tek boyutlu, sıfır tabanlı Array .
- startIndex
- Int32
Geriye doğru arama işleminin sıfır tabanlı başlangıç dizini.
- match
- Predicate<T>
Predicate<T> Aranacak öğenin koşullarını tanımlayan.
Döndürülenler
tarafından tanımlanan koşullarla match
eşleşen bir öğenin son oluşumunun sıfır tabanlı dizini; bulunursa, aksi takdirde -1.
Özel durumlar
startIndex
, için array
geçerli dizin aralığının dışındadır.
Açıklamalar
Array öğesinden başlayıp startIndex
ilk öğeyle biten geriye doğru arandı.
, Predicate<T> nesnesine geçirilen nesnenin temsilcide tanımlanan koşullarla eşleşmesi durumunda döndüren true
bir yöntemin temsilcisidir. öğeleri array
tek tek öğesine Predicate<T>geçirilir.
Bu yöntem, n
başından 'array
a startIndex
kadar olan öğelerin sayısı olan bir O(n
) işlemidir.
Ayrıca bkz.
- 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>
Şunlara uygulanır
FindLastIndex<T>(T[], Int32, Int32, Predicate<T>)
- 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 Array belirtilen sayıda öğe içeren ve belirtilen dizinde 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 öğelerini türü.
Parametreler
- array
- T[]
Arama için tek boyutlu, sıfır tabanlı Array .
- startIndex
- Int32
Geriye doğru arama işleminin sıfır tabanlı başlangıç dizini.
- count
- Int32
Sıralanacak bölümdeki öğelerin sayısı.
- match
- Predicate<T>
Predicate<T> Aranacak öğenin koşullarını tanımlayan.
Döndürülenler
tarafından tanımlanan koşullarla match
eşleşen bir öğenin son oluşumunun sıfır tabanlı dizini; bulunursa, aksi takdirde -1.
Özel durumlar
startIndex
, için array
geçerli dizin aralığının dışındadır.
-veya-
count
, sıfırdan küçüktür.
-veya-
startIndex
ve count
içinde array
geçerli bir bölüm belirtmeyin.
Açıklamalar
Array, 0'dan startIndex
büyükse count
eksi count
artı 1 ile startIndex
başlayıp 1 ile biten geriye doğru arama yapılır.
, Predicate<T> nesnesine geçirilen nesnenin temsilcide tanımlanan koşullarla eşleşmesi durumunda 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.
- 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>