Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
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 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