Konvertieren von Datentypen (Visual Basic)

Konvertierungsmethoden ändern den Typ von Eingabeobjekten.

Konvertierungsvorgänge in LINQ-Abfragen sind in vielen Anwendungen nützlich. Hier einige Beispiele:

Methoden

Die folgende Tabelle enthält die Standardabfrageoperator-Methoden, die Datentypumwandlungen ausführen.

Die Konvertierungsmethoden in dieser Tabelle, deren Namen mit „As“ beginnen, ändern den statischen Typ der Quellauflistung, listen ihn jedoch nicht auf. Die Methoden, deren Namen mit „To“ anfangen, listen die Quellauflistung auf und verschieben die Elemente in den entsprechenden Auflistungstyp.

Methodenname Beschreibung Visual Basic-Abfrageausdruckssyntax Weitere Informationen
AsEnumerable Gibt die Eingabe als IEnumerable<T> typisiert zurück Nicht zutreffend. Enumerable.AsEnumerable
AsQueryable Konvertiert ein (generisches) IEnumerable-Element in ein (generisches) IQueryable-Element Nicht zutreffend. Queryable.AsQueryable
Typumwandlung Kopiert die Elemente einer Auflistung in einen bestimmten Typ. From … As … Enumerable.Cast

Queryable.Cast
OfType Filtert Werte, je nach ihrer Fähigkeit, die in einen angegebenen Typ umgewandelt werden sollen. Nicht zutreffend. Enumerable.OfType

Queryable.OfType
ToArray Konvertiert eine Auflistung in ein Array. Diese Methode erzwingt die Ausführung der Abfrage. Nicht zutreffend. Enumerable.ToArray
ToDictionary Platziert Elemente in ein Dictionary<TKey,TValue> auf Grundlage einer Schlüsselauswahlfunktion. Diese Methode erzwingt die Ausführung der Abfrage. Nicht zutreffend. Enumerable.ToDictionary
ToList Konvertiert eine Auflistung in eine List<T>. Diese Methode erzwingt die Ausführung der Abfrage. Nicht zutreffend. Enumerable.ToList
ToLookup Platziert Elemente, basierend auf einer Schlüsselauswahlfunktion, in ein Lookup<TKey,TElement> (one-to-many-Wörterbuch) ein. Diese Methode erzwingt die Ausführung der Abfrage. Nicht zutreffend. Enumerable.ToLookup

Beispiel für die Abfrageausdruckssyntax

Das folgende Codebeispiel verwendet die From As-Klausel, um einen Typ vor dem Zugriff auf ein Element, das nur im Untertyp verfügbar ist, in einen Untertyp umzuwandeln.

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

Siehe auch