Bagikan melalui


Mengonversi Tipe Data (Visual Basic)

Metode konversi mengubah jenis objek input.

Operasi konversi dalam kueri LINQ berguna dalam berbagai aplikasi. Berikut ini adalah beberapa contoh:

Metode

Tabel berikut mencantumkan metode operator kueri standar yang melakukan konversi jenis data.

Metode konversi dalam tabel ini yang namanya dimulai dengan "As" mengubah tipe statis dari koleksi sumber tetapi tidak melakukan enumerasi. Metode yang namanya dimulai dengan "To" menjumlahkan koleksi sumber dan memasukkan item ke dalam jenis koleksi yang sesuai.

Nama Metode Deskripsi Sintaks Ekspresi Kueri Visual Basic Informasi Selengkapnya
Tetap "AsEnumerable" karena merupakan istilah teknis. Menghasilkan input yang diketik sebagai IEnumerable<T>. Tidak dapat diterapkan. Enumerable.AsEnumerable
AsQueryable Mengonversi a (generik) IEnumerable menjadi (generik) IQueryable. Tidak dapat diterapkan. Queryable.AsQueryable
Pemeran Mengonversi elemen koleksi ke jenis tertentu secara eksplisit. From … As … Enumerable.Cast

Queryable.Cast
OfType Nilai filter, bergantung pada kemampuan nilai untuk dikonversi ke jenis yang ditentukan secara eksplisit. Tidak dapat diterapkan. Enumerable.OfType

Queryable.OfType
ToArray Mengonversi koleksi menjadi larik. Metode ini memaksa eksekusi kueri. Tidak dapat diterapkan. Enumerable.ToArray
ToDictionary Menempatkan elemen ke dalam Dictionary<TKey,TValue> berdasarkan fungsi pemilih kunci. Metode ini memaksa eksekusi kueri. Tidak dapat diterapkan. Enumerable.ToDictionary
Ke Daftar Mengonversi koleksi menjadi List<T>. Metode ini memaksa eksekusi kueri. Tidak dapat diterapkan. Enumerable.ToList
ToLookup Menempatkan elemen ke dalam Lookup<TKey,TElement> (kamus satu-ke-banyak) berdasarkan fungsi pemilih kunci. Metode ini memaksa eksekusi kueri. Tidak dapat diterapkan. Enumerable.ToLookup

Contoh Sintaks Ekspresi Kueri

Contoh kode berikut menggunakan klausul From As untuk mengubah jenis ke subjenis sebelum mengakses anggota yang hanya tersedia pada subjenis tersebut.

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

Lihat juga