Megosztás a következőn keresztül:


Adattípusok konvertálása (Visual Basic)

A konvertálási módszerek megváltoztatják a bemeneti objektumok típusát.

A LINQ-lekérdezések konverziós műveletei számos alkalmazásban hasznosak. Az alábbiakban néhány példát láthat:

Metódusok

Az alábbi táblázat az adattípus-átalakításokat végző szabványos lekérdezési operátori metódusokat sorolja fel.

A táblázatban szereplő konverziós módszerek, amelyeknek a neve "As" néven kezdődik, megváltoztatják a forrásgyűjtemény statikus típusát, de nem számbavételt végeznek rajta. Azok a metódusok, amelyeknek a neve a "To" kezdetű, számba adja a forrásgyűjteményt, és az elemeket a megfelelő gyűjteménytípusba helyezi.

Metódus neve Leírás Visual Basic Query Expression Szintaxis További információ
AsEnumerable A beírt értéket adja eredményül IEnumerable<T>. Nem alkalmazható. Enumerable.AsEnumerable
AsQueryable (általános) IEnumerable konvertálása (általános) IQueryablelesz. Nem alkalmazható. Queryable.AsQueryable
Cost Egy gyűjtemény elemeit egy megadott típusra veti. From … As … Enumerable.Cast

Queryable.Cast
OfType Az értékeket attól függően szűri, hogy egy adott típusba szeretnének-e beszűkíteni őket. Nem alkalmazható. Enumerable.OfType

Queryable.OfType
ToArray Gyűjteményt tömbzé alakít át. Ez a metódus kényszeríti a lekérdezés végrehajtását. Nem alkalmazható. Enumerable.ToArray
ToDictionary Elemeket helyez el egy Dictionary<TKey,TValue> kulcsválasztó függvény alapján. Ez a metódus kényszeríti a lekérdezés végrehajtását. Nem alkalmazható. Enumerable.ToDictionary
ToList Gyűjteményt List<T>konvertál . Ez a metódus kényszeríti a lekérdezés végrehajtását. Nem alkalmazható. Enumerable.ToList
ToLookup Elemeket helyez egy Lookup<TKey,TElement> (egy-a-többhöz) szótárba egy kulcsválasztó függvény alapján. Ez a metódus kényszeríti a lekérdezés végrehajtását. Nem alkalmazható. Enumerable.ToLookup

Példa lekérdezési kifejezés szintaxisára

Az alábbi példakód a From As záradék használatával a típust egy altípusba adhatja, mielőtt hozzáfér egy olyan taghoz, amely csak az altípuson érhető el.

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

Lásd még