Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A szűrés azt jelenti, hogy az eredményhalmaz csak azokat az elemeket tartalmazza, amelyek megfelelnek egy adott feltételnek. Más néven a megadott feltételnek megfelelő elemek kijelölése .
Fontos
Ezek a minták adatforrást System.Collections.Generic.IEnumerable<T> használnak. A System.Linq.IQueryProvider alapú adatforrások a System.Linq.IQueryable<T> adatforrásokat és a kifejezésfákat használják. A kifejezésfák korlátozottan használhatják az engedélyezett C# szintaxist. Emellett minden adatforrás IQueryProvider , például az EF Core további korlátozásokat is alkalmazhat. Ellenőrizze az adatforrás dokumentációját.
Az alábbi ábrán egy karaktersorozat szűrésének eredményei láthatók. A szűrési művelet predikátuma azt határozza meg, hogy a karakternek "A" karakternek kell lennie.
A kijelölést végző szabványos lekérdezési operátor-metódusok az alábbi táblázatban találhatók:
| Metódus neve | Leírás | C# lekérdezési kifejezés szintaxisa | További információ |
|---|---|---|---|
| OfType | Az értékeket attól függően választja ki, hogy egy adott típusba szeretnének-e beszűkíteni őket. | Nem alkalmazható. | Enumerable.OfType Queryable.OfType |
| Hol | Predikátumfüggvényen alapuló értékeket jelöl ki. | where |
Enumerable.Where Queryable.Where |
Az alábbi példa a where záradék használatával szűr egy tömbből az adott hosszúságú sztringeket.
Megjegyzés:
A terület gyakori adatforrásai a Standard lekérdezési operátorok áttekintése című cikkben találhatóak.
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
*/
A metódusszintaxissal egyenértékű lekérdezés a következő kódban jelenik meg:
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
*/