Condividi tramite


Conversione del tipo 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 vengono 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 nella tabella i cui nomi iniziano con "As" modificano il tipo statico della raccolta di origine ma non lo enumerano. 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 Ulteriori 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
Cast 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

L'esempio di codice seguente usa la clausola From As per eseguire il cast di un tipo a un sottotipo prima di accedere a un membro che è 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

Vedi anche