Klausul From (Visual Basic)
Menentukan satu atau lebih variabel rentang dan koleksi yang akan dikueri.
Sintaks
From element [ As type ] In collection [ _ ]
[, element2 [ As type2 ] In collection2 [, ... ] ]
Generator
Term | Definisi |
---|---|
element |
Harus diisi. Variabel rentang yang digunakan untuk mengulang seluruh elemen koleksi. Variabel rentang digunakan untuk merujuk ke setiap anggota collection saat kueri melakukan iterasi melalui collection . Harus tipe yang dapat disebutkan. |
type |
Opsional. Jenis element . Jika tidak ada type yang ditentukan, jenis element disimpulkan dari collection . |
collection |
Harus diisi. Mengacu pada koleksi yang akan dikueri. Harus tipe yang dapat disebutkan. |
Keterangan
Klausa From
digunakan untuk mengidentifikasi data sumber untuk kueri dan variabel yang digunakan untuk merujuk ke elemen dari kumpulan sumber. Variabel ini disebut variabel rentang. Klausa From
diperlukan untuk kueri, kecuali ketika klausu Aggregate
l digunakan untuk mengidentifikasi kueri yang hanya mengembalikan hasil agregat. Untuk informasi selengkapnya, lihat Klausul Agregat.
Anda dapat menentukan beberapa klausul From
dalam kueri untuk mengidentifikasi beberapa koleksi yang akan digabungkan. Ketika beberapa koleksi ditentukan, koleksi tersebut diulang secara independen, atau Anda dapat menggabungkannya jika terkait. Anda dapat menggabungkan koleksi secara implisit dengan menggunakan klausa Select
, atau secara eksplisit dengan menggunakan klausa Join
atau Group Join
. Sebagai alternatif, Anda dapat menentukan beberapa variabel rentang dan koleksi dalam satu klausa From
, dengan setiap variabel rentang dan koleksi terkait dipisahkan dari yang lain dengan koma. Contoh kode berikut menunjukkan kedua opsi sintaks untuk klausa From
.
' Multiple From clauses in a query.
Dim result = From var1 In collection1, var2 In collection2
' Equivalent syntax with a single From clause.
Dim result2 = From var1 In collection1
From var2 In collection2
Klausa From
menentukan cakupan kueri, yang mirip dengan cakupan perulangan For
. Oleh karena itu, setiap variabel rentang element
dalam cakupan kueri harus memiliki nama yang unik. Karena Anda dapat menentukan beberapa klausa From
untuk kueri, klausa From
berikutnya dapat merujuk ke variabel rentang dalam klausul From
, atau klausul tersebut dapat merujuk ke variabel rentang dalam klausa From
sebelumnya. Misalnya, contoh berikut menunjukkan klausul From
berlapis di mana koleksi dalam klausul kedua didasarkan pada properti variabel rentang dalam klausa pertama.
Dim allOrders = From cust In GetCustomerList()
From ord In cust.Orders
Select ord
Setiap From
klausa dapat diikuti oleh kombinasi klausa kueri tambahan untuk memperbaiki kueri. Anda bisa memperbaiki kueri dengan cara berikut:
Gabungkan beberapa koleksi secara implisit dengan menggunakan klausa
From
danSelect
, atau secara eksplisit dengan menggunakan klausaJoin
atauGroup Join
.Gunakan klausa
Where
untuk memfilter hasil kueri.Urutkan hasilnya dengan menggunakan klausa
Order By
.Kelompokkan hasil serupa bersama-sama dengan menggunakan klausul
Group By
.Gunakan klausa
Aggregate
untuk mengidentifikasi fungsi agregat untuk mengevaluasi seluruh hasil kueri.Gunakan klausa
Let
untuk memperkenalkan variabel iterasi yang nilainya ditentukan oleh ekspresi, bukannya koleksi.Gunakan klausa
Distinct
untuk mengabaikan hasil kueri duplikat.Identifikasi bagian hasil yang akan dikembalikan dengan menggunakan klausa
Skip
,Take
,Skip While
, danTake While
.
Contoh
Ekspresi kueri berikut menggunakan klausul From
untuk mendeklarasikan variabel rentang cust
untuk tiap objek Customer
dalam koleksi customers
. Klausul Where
menggunakan variabel rentang untuk membatasi output kepada pelanggan dari wilayah yang ditentukan. Pengulangan For Each
menampilkan nama perusahaan untuk setiap pelanggan dalam hasil kueri.
Sub DisplayCustomersForRegion(ByVal customers As List(Of Customer),
ByVal region As String)
Dim customersForRegion = From cust In customers
Where cust.Region = region
For Each cust In customersForRegion
Console.WriteLine(cust.CompanyName)
Next
End Sub
Lihat juga
- Kueri
- Pengantar LINQ di Visual Basic
- Pernyataan For Each...Next Untuk Setiap...Berikutnya
- Untuk...Pernyataan Berikutnya
- Pilih Klausul
- Di mana Klausul
- Klausul Agregat
- Klausul Distinct
- Klausul Gabungan
- Klausul Group Join
- Klausul Order By
- Klausul Let
- Klausul Skip
- Ambil Klausul
- Lompati Klausul While
- Klausul Take While
Saran dan Komentar
https://aka.ms/ContentUserFeedback.
Segera hadir: Sepanjang tahun 2024 kami akan menghentikan penggunaan GitHub Issues sebagai mekanisme umpan balik untuk konten dan menggantinya dengan sistem umpan balik baru. Untuk mengetahui informasi selengkapnya, lihat:Kirim dan lihat umpan balik untuk