Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Metody převodu mění typ vstupních objektů.
Operace převodu v dotazech LINQ jsou užitečné v různých aplikacích. Tady je několik příkladů:
Metodu Enumerable.AsEnumerable lze použít ke skrytí vlastní implementace typu standardního operátoru dotazu.
Tuto Enumerable.OfType metodu lze použít k povolení neparametrizovaných kolekcí pro dotazování LINQ.
Metodu Enumerable.ToArray, , Enumerable.ToDictionaryEnumerable.ToLista Enumerable.ToLookup lze použít k vynucení okamžitého spuštění dotazu namísto odložení, dokud dotaz nebude výčtu.
Metody
Následující tabulka uvádí standardní metody operátoru dotazu, které provádějí převody datových typů.
Metody převodu v této tabulce, jejichž názvy začínají na "As", mění statický typ zdrojové kolekce, ale nevyčtou ji. Metody, jejichž názvy začínají na "To" výčet zdrojové kolekce a umístí položky do odpovídajícího typu kolekce.
| Název metody | Popis | Syntaxe výrazů dotazu jazyka Visual Basic | Další informace |
|---|---|---|---|
| AsEnumerable | Vrátí zadaný vstup jako IEnumerable<T>. | Nelze použít. | Enumerable.AsEnumerable |
| AsQueryable | Převede (obecný) IEnumerable na (obecný) IQueryable. | Nelze použít. | Queryable.AsQueryable |
| Obsazení | Přetypuje prvky kolekce na zadaný typ. | From … As … |
Enumerable.Cast Queryable.Cast |
| PodleTypu | Filtruje hodnoty v závislosti na jejich schopnosti přetypovat na zadaný typ. | Nelze použít. | Enumerable.OfType Queryable.OfType |
| ToArray | Převede kolekci na pole. Tato metoda vynutí provádění dotazů. | Nelze použít. | Enumerable.ToArray |
| doSlovníku | Vloží elementy Dictionary<TKey,TValue> do funkce selektoru klíče. Tato metoda vynutí provádění dotazů. | Nelze použít. | Enumerable.ToDictionary |
| Do seznamu | Převede kolekci na .List<T> Tato metoda vynutí provádění dotazů. | Nelze použít. | Enumerable.ToList |
| ToLookup | Umístí prvky do slovníku Lookup<TKey,TElement> 1:N na základě funkce selektoru klíčů. Tato metoda vynutí provádění dotazů. | Nelze použít. | Enumerable.ToLookup |
Příklad syntaxe výrazu dotazu
Následující příklad kódu používá From As klauzuli k přetypování typu na podtyp před přístupem k členu, který je k dispozici pouze na podtypu.
Class Plant
Public Property Name As String
End Class
Class CarnivorousPlant
Inherits Plant
Public Property TrapType As String
End Class
Sub Cast()
Dim plants() As Plant = {
New CarnivorousPlant With {.Name = "Venus Fly Trap", .TrapType = "Snap Trap"},
New CarnivorousPlant With {.Name = "Pitcher Plant", .TrapType = "Pitfall Trap"},
New CarnivorousPlant With {.Name = "Sundew", .TrapType = "Flypaper Trap"},
New CarnivorousPlant With {.Name = "Waterwheel Plant", .TrapType = "Snap Trap"}}
Dim query = From plant As CarnivorousPlant In plants
Where plant.TrapType = "Snap Trap"
Select plant
Dim sb As New System.Text.StringBuilder()
For Each plant In query
sb.AppendLine(plant.Name)
Next
' Display the results.
MsgBox(sb.ToString())
' This code produces the following output:
' Venus Fly Trap
' Waterwheel Plant
End Sub