Enumerable.Where 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.
Memfilter urutan nilai berdasarkan predikat.
Overload
Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) |
Memfilter urutan nilai berdasarkan predikat. |
Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) |
Memfilter urutan nilai berdasarkan predikat. Indeks setiap elemen digunakan dalam logika fungsi predikat. |
Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>)
- Sumber:
- Where.cs
- Sumber:
- Where.cs
- Sumber:
- Where.cs
Memfilter urutan nilai berdasarkan predikat.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<TSource> ^ Where(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, bool> ^ predicate);
public static System.Collections.Generic.IEnumerable<TSource> Where<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
static member Where : seq<'Source> * Func<'Source, bool> -> seq<'Source>
<Extension()>
Public Function Where(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Boolean)) As IEnumerable(Of TSource)
Jenis parameter
- TSource
Jenis elemen source
.
Parameter
- source
- IEnumerable<TSource>
Untuk IEnumerable<T> memfilter.
Mengembalikan
Yang IEnumerable<T> berisi elemen dari urutan input yang memenuhi kondisi.
Pengecualian
source
atau predicate
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) untuk memfilter urutan.
List<string> fruits =
new List<string> { "apple", "passionfruit", "banana", "mango",
"orange", "blueberry", "grape", "strawberry" };
IEnumerable<string> query = fruits.Where(fruit => fruit.Length < 6);
foreach (string fruit in query)
{
Console.WriteLine(fruit);
}
/*
This code produces the following output:
apple
mango
grape
*/
' Create a list of strings.
Dim fruits As New List(Of String)(New String() _
{"apple", "passionfruit", "banana", "mango",
"orange", "blueberry", "grape", "strawberry"})
' Restrict the results to those strings whose
' length is less than six.
Dim query As IEnumerable(Of String) =
fruits.Where(Function(fruit) fruit.Length < 6)
' Display the results.
Dim output As New System.Text.StringBuilder
For Each fruit As String In query
output.AppendLine(fruit)
Next
Console.WriteLine(output.ToString())
' This code produces the following output:
'
' apple
' mango
' grape
Keterangan
Metode ini diimplementasikan dengan menggunakan eksekusi yang ditangguhkan. Nilai pengembalian langsung adalah objek yang menyimpan semua informasi yang diperlukan untuk melakukan tindakan. Kueri yang diwakili oleh metode ini tidak dijalankan sampai objek dijumlahkan baik dengan memanggil metodenya GetEnumerator
secara langsung atau dengan menggunakan foreach
di C# atau For Each
di Visual Basic.
Dalam sintaks ekspresi kueri, where
klausa (C#) atau Where
(Visual Basic) diterjemahkan ke pemanggilan Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>).
Lihat juga
Berlaku untuk
Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>)
- Sumber:
- Where.cs
- Sumber:
- Where.cs
- Sumber:
- Where.cs
Memfilter urutan nilai berdasarkan predikat. Indeks setiap elemen digunakan dalam logika fungsi predikat.
public:
generic <typename TSource>
[System::Runtime::CompilerServices::Extension]
static System::Collections::Generic::IEnumerable<TSource> ^ Where(System::Collections::Generic::IEnumerable<TSource> ^ source, Func<TSource, int, bool> ^ predicate);
public static System.Collections.Generic.IEnumerable<TSource> Where<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,int,bool> predicate);
static member Where : seq<'Source> * Func<'Source, int, bool> -> seq<'Source>
<Extension()>
Public Function Where(Of TSource) (source As IEnumerable(Of TSource), predicate As Func(Of TSource, Integer, Boolean)) As IEnumerable(Of TSource)
Jenis parameter
- TSource
Jenis elemen source
.
Parameter
- source
- IEnumerable<TSource>
Untuk IEnumerable<T> memfilter.
Fungsi untuk menguji setiap elemen sumber untuk suatu kondisi; parameter kedua fungsi mewakili indeks elemen sumber.
Mengembalikan
Yang IEnumerable<T> berisi elemen dari urutan input yang memenuhi kondisi.
Pengecualian
source
atau predicate
adalah null
.
Contoh
Contoh kode berikut menunjukkan cara menggunakan Where<TSource>(IEnumerable<TSource>, Func<TSource,Int32,Boolean>) untuk memfilter urutan berdasarkan predikat yang melibatkan indeks setiap elemen.
int[] numbers = { 0, 30, 20, 15, 90, 85, 40, 75 };
IEnumerable<int> query =
numbers.Where((number, index) => number <= index * 10);
foreach (int number in query)
{
Console.WriteLine(number);
}
/*
This code produces the following output:
0
20
15
40
*/
' Create an array of integers.
Dim numbers() As Integer = {0, 30, 20, 15, 90, 85, 40, 75}
' Restrict the results to those numbers whose
' values are less than or equal to their index times 10.
Dim query As IEnumerable(Of Integer) =
numbers.Where(Function(number, index) number <= index * 10)
' Display the results.
Dim output As New System.Text.StringBuilder
For Each number As Integer In query
output.AppendLine(number)
Next
Console.WriteLine(output.ToString())
' This code produces the following output:
'
' 0
' 20
' 15
' 40
Keterangan
Metode ini diimplementasikan dengan menggunakan eksekusi yang ditangguhkan. Nilai pengembalian langsung adalah objek yang menyimpan semua informasi yang diperlukan untuk melakukan tindakan. Kueri yang diwakili oleh metode ini tidak dijalankan sampai objek dijumlahkan baik dengan memanggil metodenya GetEnumerator
secara langsung atau dengan menggunakan foreach
di C# atau For Each
di Visual Basic.
Argumen pertama mewakili predicate
elemen yang akan diuji. Argumen kedua mewakili indeks berbasis nol dari elemen dalam source
.