Berikut adalah cara penggunaan LINQ to Object :
LINQ to Object merupakan LINQ untuk melakukan proses query kedalam OBJECT collection ( Array, ArrayList, HashTable, Directory, List & user define collection).
Contoh mengakses system file pada computer :
Dim FileList = From file In My.Computer.FileSystem.GetFiles(CurDir()) Select file
Dim hasil = "List File" + vbCrLf
For Each file In FileList
hasil = hasil + " " + file.ToString + vbCrLf
Next
MsgBox(hasil)
Berikut adalah LINQ to Object collection terdiri dari :
1. Array Collection
Contoh data array yang huruf depan “S” saja.
Dim ahari() As String = {"senin", "selasa", "rabu", "kamis", "jum’at", "sabtu", "minggu"}
Dim LINQ = From item In ahari Where Microsoft.VisualBasic.Left(item, 1) = "s" Select item
Dim hasil = "Hasil Query" & vbCrLf
For Each item In LINQ
hasil = hasil & item & vbCrLf
Next
MsgBox(hasil)
2. ArrayList Collection
Contoh mengakses yang berhuruf depan “J”
Dim apelajaran As New ArrayList
apelajaran.Add("Matematika")
apelajaran.Add("Fisika")
apelajaran.Add("Kimia")
apelajaran.Add("Komputer")
apelajaran.Add("Kesenian")
apelajaran.Add("Sejarah")
Dim LINQ = From item In apelajaran Where Microsoft.VisualBasic.Left(item, 1) = "K" _
Select item
Dim hasil = "List Pelajaran" & vbCrLf
For Each item In LINQ
hasil = hasil & item & vbCrLf
Next
MsgBox(hasil)
3. HashTable Collection
Contoh menampilkan keyed yang nilainya lebih dari 3
Dim oHashTable As New Hashtable
oHashTable.Add(1, "VB")
oHashTable.Add(2, "C#")
oHashTable.Add(3, "JavaScript")
oHashTable.Add(4, "Hash Table")
oHashTable.Add(5, "Query")
oHashTable.Add(6, "LINQ")
Dim LINQ = From item In oHashTable Where item.key > 3 Order By item.key Select item
Dim hasil = "List HashTable" & vbCrLf
For Each item As DictionaryEntry In LINQ
hasil=hasil & "Key:" & item.Key & " Value :" & item.Value & vbCrLf
Next
MsgBox(hasil)
4. User Define ArrayList Collection
Pada tahap ini akan mengunakan LINQ untuk mengakses sebuah Type data yang collection yang dibuat sendiri.
Buat kelas Pelajaran dengan nama : pelajaran.vb
Public Class hasilujian
Public Kode As String
Public Nama As String
Public Murid As String
Public Kelas As String
Public Nilai As Integer
End Class
Buat form dengan menambahkan button dan isikan sintak pada event klik button tersebut
Dim hasilujian1 As New hasilujian With {.Kode = "01", .Nama = "Matematika", _
.Murid = "John", .Kelas = "1 SMP", .Nilai = 80 }
Dim hasilujian2 As New hasilujian With {.Kode = "02", .Nama = "Fisika", _
.Murid = "John", .Kelas = "1 SMP", .Nilai = 85}
Dim hasilujian3 As New hasilujian With {.Kode = "03", .Nama = "Bahasa Inggris", _
.Murid = "John", .Kelas = "1 SMP", .Nilai = 75 }
Dim ahasilujian As New ArrayList()
ahasilujian.Add(hasilujian1)
ahasilujian.Add(hasilujian2)
ahasilujian.Add(hasilujian3)
Dim LINQ = From item As hasilujian In ahasilujian Where item.Nilai > 75 Select item
For Each item In LINQ
MsgBox("Kode : " & item.Kode & vbCrLf & "Nama : " & item.Nama & vbCrLf & _
"Kelas : " & item.Kelas & vbCrLf & "Nilai : " & item.Nilai)
Next