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 Enumerable.AsEnumerable dapat digunakan untuk menyembunyikan penerapan kustom jenis dari operator kueri standar.
Metode Enumerable.OfType dapat digunakan untuk mengaktifkan koleksi yang bukan merupakan parameter untuk kueri LINQ.
Metode Enumerable.ToArray, Enumerable.ToDictionary, Enumerable.ToList, dan Enumerable.ToLookup dapat digunakan untuk memaksa eksekusi kueri segera, bukan menunda eksekusi kueri hingga kueri dijumlahkan.
Metode
Tabel berikut mencantumkan metode operator kueri standar yang melakukan konversi jenis data.
Metode konversi dalam tabel ini yang namanya dimulai dengan "As" mengubah jenis statik koleksi sumber tetapi tidak menjumlahkan koleksi sumber. 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 |
---|---|---|---|
AsEnumerable | Menghasilkan input yang diketik sebagai IEnumerable<T>. | Tidak berlaku. | Enumerable.AsEnumerable |
AsQueryable | Mengonversi a (generik) IEnumerable menjadi (generik) IQueryable. | Tidak berlaku. | Queryable.AsQueryable |
Transmisi | 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 berlaku. | Enumerable.OfType Queryable.OfType |
ToArray | Mengonversi koleksi menjadi larik. Metode ini memaksa eksekusi kueri. | Tidak berlaku. | Enumerable.ToArray |
ToDictionary | Menempatkan elemen ke dalam Dictionary<TKey,TValue> berdasarkan fungsi pemilih kunci. Metode ini memaksa eksekusi kueri. | Tidak berlaku. | Enumerable.ToDictionary |
ToList | Mengonversi koleksi menjadi List<T>. Metode ini memaksa eksekusi kueri. | Tidak berlaku. | Enumerable.ToList |
ToLookup | Menempatkan elemen ke dalam Lookup<TKey,TElement> (kamus satu-ke-banyak) berdasarkan fungsi pemilih kunci. Metode ini memaksa eksekusi kueri. | Tidak berlaku. | Enumerable.ToLookup |
Contoh Sintaks Ekspresi Kueri
Contoh kode berikut menggunakan klausul From As
untuk mentransmisikan jenis ke subjenis secara eksplisit sebelum mengakses anggota yang hanya tersedia pada subjenis.
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