Misalnya saya mempunya sebuah list bertipe int yang memiliki elemen bernilai dari 1 - 9, dengan menggunakan LINQ kita bisa menampilkan isi dari elemen list yang hanya merupakan bilangan ganjil saja. berarti yang akan tampil hanya bilangan 1, 3, 5, 7, dan 9.
Berikut ini adalah bentuk umum dari LINQ
from nama_penampung in nama_collection
where syarat pemeilihan
orderby nama_kategori_pengurutan ascending/descending
select nama_pilihan
nama_penampung adalah sebuatan yang kita berikan untuk menampun sebuah elemen dalam sebuah collection (list, queue, stack, dsb) yang ingin kita lakukan pemilihan. Syarat pemilihan adalah syarat yang ingin kita terapkan/ periksa terhadap setiap elemen collection ketika kita melakukan pemilihan. nama_kategori_pengurutan adalah nama elemen atau anggota elemen yang ingin dijadikan dasar dari sebuah pengurutan. ascending dan descending adalah mode pengurutan yang ingin kita terapkan. Ascending adalah pengurutan secara menaik, dan descending adalah pengurutan secara menurun. Nama pilihan adalah nama elemen atau nama anggota elemen yang ingin kita pilih.
Untuk lebih jelasnya silahkan amati contoh program berikut ini.
class Undian :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ContohLINQ { class Undian { private int _noID; private string _nama; public int NoID { get { return _noID; } } public string Nama { get { return _nama; } } public Undian(int number, string nama) { _noID = number; _nama = nama; } public Undian() { _noID = 0; _nama = "noname"; } } }Program utama :
using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace ContohLINQ { class Program { static void Main(string[] args) { List<Undian> undian = new List<Undian>(); undian.Add(new Undian(1, "Julia")); undian.Add(new Undian(2, "Diana")); undian.Add(new Undian(3, "Ririn")); undian.Add(new Undian(4, "Vina")); //menampilkan isi list foreach (Undian i in undian) { Console.WriteLine("No ID : {0}\nNama : {1}", i.NoID, i.Nama); Console.WriteLine(); } Console.WriteLine(); //list untuk menampung int NoID List<int> noID; //LINQ hanya memilih NoID noID = ( from no in undian select no.NoID ).ToList(); foreach (int i in noID) { Console.WriteLine("No ID : {0}", i); } Console.WriteLine(); //list untuk menampung string Nama List<string> nama; //LINQ hanya memilih Nama nama = ( from n in undian select n.Nama ).ToList(); foreach (string nam in nama) { Console.WriteLine("Nama : {0}", nam); } Console.WriteLine(); //list untuk menampung objek Undian List<Undian> noGanjil; //LINQ hanya memilih objek berdasarkan NoID dengan no ganjil //dan di urutkan secara menurun noGanjil = (from nG in undian where nG.NoID % 2 != 0 orderby nG.NoID descending select nG).ToList(); foreach (Undian i in noGanjil) { Console.WriteLine("No ID Ganjil : {0}\nNama : {1}", i.NoID, i.Nama); Console.WriteLine(); } } } }Jika dijalankan hasilnya adalah sebagai berikut :
No comments:
Post a Comment