Array.FindIndex 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 ilk oluşumun sıfır tabanlı dizinini döndürür.
Aşırı Yüklemeler
| Name | Description |
|---|---|
| FindIndex<T>(T[], Predicate<T>) |
Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve içindeki Arrayilk oluşumun sıfır tabanlı dizinini döndürür. |
| FindIndex<T>(T[], Int32, Predicate<T>) |
Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve öğesinde belirtilen dizinden son öğeye kadar uzanan öğe Array aralığındaki ilk oluşumun sıfır tabanlı dizinini döndürür. |
| FindIndex<T>(T[], Int32, Int32, Predicate<T>) |
Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve içinde belirtilen dizinde başlayan ve belirtilen sayıda öğeyi içeren öğe Array aralığındaki ilk 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 FindIndex 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 FindIndex<T>(T[], Predicate<T>) aşırı yüklemesi, diziyi baştan geçirerek her öğeyi yönteme EndsWithSaurus geçirir. Yöntem 1 konumundaki EndsWithSaurus öğe için döndürdüğünde true arama durdurulur.
Note
C#, F# ve Visual Basic'da, Predicate<string> temsilcisinin (Visual Basic'de Predicate(Of String)) açıkça oluşturulması gerekmez. Bu diller, bağlamdan doğru temsilciyi çıkarsar ve otomatik olarak oluşturur.
FindIndex<T>(T[], Int32, Predicate<T>) Yöntem aşırı yüklemesi, 2 konumundan başlayıp dizinin sonuna devam ederek dizide arama yapmak için kullanılır. 5 konumundaki öğesini bulur. Son olarak, FindIndex<T>(T[], Int32, Int32, Predicate<T>) yöntem aşırı yüklemesi 2 konumundan başlayarak üç öğe 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.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>)
Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve içindeki Arrayilk oluşumun sıfır tabanlı dizinini döndürür.
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
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, tarafından tanımlanan koşullarla matcheşleşen ilk oluşumunun sıfır tabanlı dizini; aksi takdirde -1.
Özel durumlar
Açıklamalar
Array, ilk öğeden başlayıp son öğede sona ererek ileri 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.
- 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
FindIndex<T>(T[], Int32, Predicate<T>)
Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve öğesinde belirtilen dizinden son öğeye kadar uzanan öğe Array aralığındaki ilk oluşumun sıfır tabanlı dizinini döndürür.
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
Tür Parametreleri
- T
Dizinin öğelerinin türü.
Parametreler
- array
- T[]
Aranacak tek boyutlu, sıfır tabanlı Array .
- startIndex
- Int32
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, tarafından tanımlanan koşullarla matcheşleşen ilk oluşumunun sıfır tabanlı dizini; aksi takdirde -1.
Özel durumlar
startIndex sıfırdan küçük veya uzunluğundan arraybüyük.
Açıklamalar
Array öğesinden başlayıp startIndex son öğede biten ileri 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, öğesinden n sonuna kadar olan öğelerin sayısı olan n bir O(startIndex) işlemidirarray.
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
FindIndex<T>(T[], Int32, Int32, Predicate<T>)
Belirtilen koşul tarafından tanımlanan koşullarla eşleşen bir öğeyi arar ve içinde belirtilen dizinde başlayan ve belirtilen sayıda öğeyi içeren öğe Array aralığındaki ilk oluşumun sıfır tabanlı dizinini döndürür.
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
Tür Parametreleri
- T
Dizinin öğelerinin türü.
Parametreler
- array
- T[]
Aranacak tek boyutlu, sıfır tabanlı Array .
- startIndex
- Int32
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, tarafından tanımlanan koşullarla matcheşleşen ilk oluşumunun sıfır tabanlı dizini; aksi takdirde -1.
Özel durumlar
startIndex sıfırdan küçük veya uzunluğundan arraybüyük.
-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üksestartIndex, artı eksi 1'den countcount başlayıp sonunda ileriye 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.
- 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>