Condividi tramite


Conversione di tipi di dati (Visual Basic)

I metodi di conversione modificano il tipo degli oggetti di input.

Le operazioni di conversione nelle query LINQ sono utili in un'ampia gamma di applicazioni. Di seguito sono riportati alcuni esempi:

Metodi

Nella tabella seguente sono elencati i metodi di operatore query standard che eseguono conversioni di tipi di dati.

I metodi di conversione in questa tabella i cui nomi iniziano con "As" modificano il tipo statico della raccolta di origine ma non lo enumera. I metodi i cui nomi iniziano con "To" enumerano la raccolta di origine e inseriscono gli elementi nel tipo di raccolta corrispondente.

Nome metodo Descrizione Sintassi delle espressioni di query di Visual Basic Altre informazioni
AsEnumerable Restituisce l'input tipizzato come oggetto IEnumerable<T>. Non applicabile. Enumerable.AsEnumerable
AsQueryable Converte un oggetto IEnumerable (generico) in un oggetto IQueryable (generico). Non applicabile. Queryable.AsQueryable
Gettare Esegue il cast degli elementi di una raccolta a un tipo specificato. From … As … Enumerable.Cast

Queryable.Cast
OfType Filtra i valori, a seconda della loro capacità di eseguire il cast a un tipo specificato. Non applicabile. Enumerable.OfType

Queryable.OfType
ToArray Converte una raccolta in una matrice. Questo metodo forza l'esecuzione di query. Non applicabile. Enumerable.ToArray
ToDictionary Inserisce gli elementi in un oggetto Dictionary<TKey,TValue> sulla base di una funzione del selettore di chiavi. Questo metodo forza l'esecuzione di query. Non applicabile. Enumerable.ToDictionary
ToList Converte una raccolta in un oggetto List<T>. Questo metodo forza l'esecuzione di query. Non applicabile. Enumerable.ToList
ToLookup Inserisce gli elementi in un oggetto Lookup<TKey,TElement>, un dizionario uno-a-molti, sulla base di una funzione del selettore di chiavi. Questo metodo forza l'esecuzione di query. Non applicabile. Enumerable.ToLookup

Esempio di sintassi delle espressioni di query

Nel seguente esempio di codice, si utilizza la clausola From As per effettuare il cast di un tipo a un sottotipo prima di accedere a un membro disponibile solo nel sottotipo.

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

Vedere anche