Freigeben über


Konvertieren von Datentypen (Visual Basic)

Konvertierungsmethoden ändern den Typ von Eingabeobjekten.

Konvertierungsvorgänge in LINQ-Abfragen sind in einer Vielzahl von Anwendungen nützlich. Im Folgenden finden Sie einige Beispiele:

Methodik

In der folgenden Tabelle sind die Standardmäßigen Abfrageoperatormethoden aufgeführt, die Datentypkonvertierungen ausführen.

Die Konvertierungsmethoden in dieser Tabelle, deren Namen mit "As" beginnen, ändern den statischen Typ der Quellauflistung, aufzählen sie jedoch nicht. Die Methoden, deren Namen mit "To" beginnen, aufzählen die Quellauflistung und setzen die Elemente in den entsprechenden Sammlungstyp.

Methodenname BESCHREIBUNG Syntax des Visual Basic-Abfrageausdrucks Mehr Informationen
AsEnumerable Gibt die Eingabe als IEnumerable<T> zurück. Nicht zutreffend. Enumerable.AsEnumerable
AsQueryable Konvertiert ein (generisches) IEnumerable zu einem (generischen) IQueryable. Nicht zutreffend. Queryable.AsQueryable
Umwandeln Kopiert die Elemente einer Auflistung in einen bestimmten Typ. From … As … Enumerable.Cast

Queryable.Cast
OfType Filtert Werte in Abhängigkeit davon, ob sie in einen angegebenen Typ konvertiert werden können. Nicht zutreffend. Enumerable.OfType

Queryable.OfType
ToArray Konvertiert eine Auflistung in ein Array. Diese Methode erzwingt die Abfrageausführung. Nicht zutreffend. Enumerable.ToArray
ToDictionary Platziert Elemente in ein Dictionary<TKey,TValue> auf Grundlage einer Schlüsselauswahlfunktion. Diese Methode erzwingt die Abfrageausführung. Nicht zutreffend. Enumerable.ToDictionary
ToList Konvertiert eine Auflistung in eine List<T>. Diese Methode erzwingt die Abfrageausführung. 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 Abfrageausführung. Nicht zutreffend. Enumerable.ToLookup

Abfrageausdruckssyntax (Beispiel)

Im folgenden Codebeispiel wird die From As Klausel verwendet, um einen Typ in einen Untertyp zu umwandeln, bevor auf ein Element zugegriffen wird, das nur für den Untertyp verfügbar ist.

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