Array.FindIndex Metode
Definisi
Penting
Beberapa informasi terkait produk prarilis yang dapat diubah secara signifikan sebelum dirilis. Microsoft tidak memberikan jaminan, tersirat maupun tersurat, sehubungan dengan informasi yang diberikan di sini.
Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat tertentu, dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam satu Array atau sebagiannya.
Overload
| Nama | Deskripsi |
|---|---|
| FindIndex<T>(T[], Predicate<T>) |
Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam seluruh Array. |
| FindIndex<T>(T[], Int32, Predicate<T>) |
Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam rentang elemen dalam Array yang meluas dari indeks yang ditentukan ke elemen terakhir. |
| FindIndex<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 pertama dalam rentang elemen dalam Array yang dimulai pada indeks yang ditentukan dan berisi jumlah elemen yang ditentukan. |
Contoh
Contoh kode berikut menunjukkan ketiga kelebihan beban FindIndex 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 FindIndex<T>(T[], Predicate<T>) kelebihan beban melintasi array dari awal, meneruskan setiap elemen pada gilirannya ke EndsWithSaurus metode . Pencarian berhenti ketika EndsWithSaurus metode kembali true untuk elemen pada posisi 1.
Note
Di C#, F#, dan Visual Basic, tidak perlu membuat delegasi Predicate<string> (Predicate(Of String) Visual Basic secara eksplisit). Bahasa-bahasa ini menyimpulkan delegasi yang benar dari konteks dan membuatnya secara otomatis.
Metode FindIndex<T>(T[], Int32, Predicate<T>) kelebihan beban digunakan untuk mencari array yang dimulai pada posisi 2 dan melanjutkan ke akhir array. Ini menemukan elemen pada posisi 5. Akhirnya, FindIndex<T>(T[], Int32, Int32, Predicate<T>) metode kelebihan beban digunakan untuk mencari rentang tiga elemen yang dimulai pada posisi 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.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>)
- Sumber:
- Array.cs
- Sumber:
- Array.cs
- Sumber:
- Array.cs
- Sumber:
- Array.cs
- Sumber:
- Array.cs
Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam seluruh Array.
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
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 pertama elemen yang cocok dengan kondisi yang ditentukan oleh match, jika ditemukan; jika tidak, -1.
Pengecualian
Keterangan
Array dicari ke depan mulai dari elemen pertama dan berakhir pada elemen terakhir.
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
- 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>
Berlaku untuk
FindIndex<T>(T[], Int32, Predicate<T>)
- Sumber:
- Array.cs
- Sumber:
- Array.cs
- Sumber:
- Array.cs
- Sumber:
- Array.cs
- Sumber:
- Array.cs
Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam rentang elemen dalam Array yang meluas dari indeks yang ditentukan ke elemen terakhir.
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
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.
- match
- Predicate<T>
Predicate<T> yang menentukan kondisi elemen yang akan dicari.
Mengembalikan
Indeks berbasis nol dari kemunculan pertama elemen yang cocok dengan kondisi yang ditentukan oleh match, jika ditemukan; jika tidak, -1.
Pengecualian
startIndex kurang dari nol atau lebih besar dari arraypanjang .
Keterangan
Array dicari ke depan mulai dari startIndex dan berakhir pada elemen terakhir.
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 startIndex hingga akhir array.
Lihat juga
- 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>
Berlaku untuk
FindIndex<T>(T[], Int32, Int32, Predicate<T>)
- Sumber:
- Array.cs
- Sumber:
- Array.cs
- Sumber:
- Array.cs
- Sumber:
- Array.cs
- Sumber:
- Array.cs
Mencari elemen yang cocok dengan kondisi yang ditentukan oleh predikat yang ditentukan, dan mengembalikan indeks berbasis nol dari kemunculan pertama dalam rentang elemen dalam Array yang dimulai pada indeks yang ditentukan dan berisi jumlah elemen yang ditentukan.
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
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.
- 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 pertama elemen yang cocok dengan kondisi yang ditentukan oleh match, jika ditemukan; jika tidak, -1.
Pengecualian
startIndex kurang dari nol atau lebih besar dari arraypanjang .
-atau-
count kurang dari nol.
-atau-
startIndex dan count jangan tentukan bagian yang valid di array.
Keterangan
dicari Array ke depan mulai dari startIndex dan berakhir pada startIndex plus count minus 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
- 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>