Klasifikace standardní operátory dotazu podle způsobu spuštění
LINQ Objektů implementace metody operátor standardní dotaz spustit dva hlavní způsoby: okamžitou nebo odloženou.Operátory dotazu, které použít odložené spuštění dále rozdělit do dvou kategorií: streaming a datových proudů. Pokud víte, jak spustit dotaz různých operátorů, může pomoci porozumět výsledky, které obdržíte od daného dotazu.To platí zvláště pokud je změna zdroje dat nebo vytváření dotazu nad jiný dotaz.Toto téma se klasifikuje operátory standardní dotaz podle jejich způsob spuštění.
Způsoby provádění
Okamžité
Okamžité provedení znamená, že zdroj dat je čtení a operace provedena v bodu v kódu kde je deklarována dotazu.Všechny standardní dotaz operátory, které jediné, agregující výsledek spustit okamžitě.
Odloženo
Odložené spuštění provedena operace není v bodu v kódu kde je deklarována dotazu.Operace proběhne pouze při výčtu proměnnou dotazu, například pomocí foreach (For Each v Visual Basic) prohlášení.To znamená, že výsledky provedení dotazu závisí na obsahu zdroje dat při spuštění dotazu spíše, než když je definován dotaz.Pokud proměnná dotazu výčtu několikrát výsledky pokaždé lišit. Téměř všechny standardní dotaz operátory, jejíž návratový typ je IEnumerable<T> nebo IOrderedEnumerable<TElement> provedení odložených způsobem.
Operátory dotazu, které použít odložené spuštění můžete dále zařazují streaming nebo datových proudů.
Datové proudy
Provozovatelé datových proudů, není nutné načíst zdrojová data před dávají prvky.V době spuštění datových proudů operátor provádí jeho fungování na každý prvek zdroje, jako je čtení a dává prvek případně.Datových proudů provozovatel i nadále číst prvky zdroje až do výsledku prvek lze vyrobit.To znamená, že více než jeden prvek zdrojového může přečíst vyrábět jeden prvek výsledek.
Streaming
Provozovatelé datových proudů Non musí číst zdrojových dat před dávají prvek výsledek.Do této kategorie patří operace, jako je řazení nebo seskupování.V době spuštění-streaming operátory dotazu načíst zdrojová data, do struktury dat, provedení operace a výnos výsledné prvky.
Klasifikace tabulky
V následující tabulce klasifikuje každý standardní dotaz operátor metody podle jeho způsob spuštění.
[!POZNÁMKA]
Pokud operátor je označen ve dvou sloupcích, dvě vstupní sekvence se účastní operace a každé sekvence je vyhodnocovány jinak.V těchto případech je vždy první pořadí v seznamu parametrů, který je vyhodnocován v odložené, streaming způsobem.
Standardní operátor dotazu |
Návratový typ |
Okamžité spuštění |
Odložené spuštění datových proudů |
Odložené Non-Streaming spuštění |
---|---|---|---|---|
TSource |
X |
|
|
|
X |
|
|
||
X |
|
|
||
|
X |
|
||
Jedinou číselnou hodnotu |
X |
|
|
|
|
X |
|
||
|
X |
|
||
X |
|
|
||
X |
|
|
||
|
X |
|
||
|
X |
|
||
TSource |
X |
|
|
|
TSource |
X |
|
|
|
X |
|
|
||
|
X |
X |
||
TSource |
X |
|
|
|
TSource |
X |
|
|
|
|
|
X |
||
|
X |
X |
||
|
X |
X |
||
|
X |
X |
||
TSource |
X |
|
|
|
TSource |
X |
|
|
|
X |
|
|
||
Jedinou číselnou hodnotu, TSource nebo TResult |
X |
|
|
|
Jedinou číselnou hodnotu, TSource nebo TResult |
X |
|
|
|
|
X |
|
||
|
|
X |
||
|
|
X |
||
|
X |
|
||
|
X |
|
||
|
|
X |
||
|
X |
|
||
|
X |
|
||
X |
|
|
||
TSource |
X |
|
|
|
TSource |
X |
|
|
|
|
X |
|
||
|
X |
|
||
Jedinou číselnou hodnotu |
X |
|
|
|
|
X |
|
||
|
X |
|
||
|
|
X |
||
|
|
X |
||
TSource matice |
X |
|
|
|
X |
|
|
||
X |
|
|
||
X |
|
|
||
|
X |
|
||
|
X |
|
Viz také
Referenční dokumentace
Koncepty
Přehled operátorů standardní dotaz