Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Pemfilteran mengacu pada operasi pembatasan tataan hasil agar hanya berisi elemen-elemen yang memenuhi kondisi tertentu. Ini juga disebut sebagai memilih elemen yang cocok dengan kondisi yang ditentukan.
Penting
Sampel ini menggunakan System.Collections.Generic.IEnumerable<T> sumber data. Sumber data berdasarkan System.Linq.IQueryProvider penggunaan System.Linq.IQueryable<T> sumber data dan pohon ekspresi. Pohon ekspresi memiliki batasan pada sintaks C# yang diizinkan. Selain itu, setiap IQueryProvider
sumber data, seperti EF Core dapat memberlakukan lebih banyak batasan. Periksa dokumentasi untuk sumber data Anda.
Ilustrasi berikut menunjukkan hasil pemfilteran urutan karakter. Predikat untuk operasi pemfilteran menentukan bahwa karakter harus 'A'.
Metode operator kueri standar yang melakukan pilihan tercantum dalam tabel berikut:
Nama Metode | Deskripsi | Sintaksis Ekspresi Kueri C# | Informasi Selengkapnya |
---|---|---|---|
OfType | Memilih nilai, tergantung pada kemampuannya untuk diubah ke tipe tertentu. | Tidak dapat diterapkan. | Enumerable.OfType Queryable.OfType |
Di mana | Memilih nilai yang didasarkan pada fungsi predikat. | where |
Enumerable.Where Queryable.Where |
Contoh berikut menggunakan klausul where
untuk memfilter dari array string yang memiliki panjang tertentu.
string[] words = ["the", "quick", "brown", "fox", "jumps"];
IEnumerable<string> query = from word in words
where word.Length == 3
select word;
foreach (string str in query)
{
Console.WriteLine(str);
}
/* This code produces the following output:
the
fox
*/
Kueri yang setara menggunakan sintaks metode diperlihatkan dalam kode berikut:
string[] words = ["the", "quick", "brown", "fox", "jumps"];
IEnumerable<string> query =
words.Where(word => word.Length == 3);
foreach (string str in query)
{
Console.WriteLine(str);
}
/* This code produces the following output:
the
fox
*/