Isi kandungan:
Video: C# Tutorial 15 LINQ Tutorial 2024
Oleh John Paul Mueller
Bahasa INtegrated Query (LINQ) adalah ciri. Rangka Kerja NET yang memperluaskan pemahaman anda melampaui perkara Microsoft. Anda boleh menggunakan LINQ untuk bertanya apa sahaja dengan mengetahui pengendali penting bersama dengan beberapa operator pertanyaan tambahan. Sekiranya anda kalah sedikit di sepanjang jalan, Microsoft menawarkan banyak sumber melalui rangkaian, blog, dan forumnya.
Operator LINQ Penting
QueryIntegrated Bahasa (LINQ) menggunakan pelbagai pengendali yang menakjubkan. Pengendali adalah kata khas yang memberitahu LINQ jenis pertanyaan yang akan dilakukan, seperti memeriksa sama ada dua nilai sama. Pengendali boleh beratus-ratus, tetapi dalam kebanyakan kes anda akan melaksanakan sebahagian besar tugas dengan hanya menggunakan beberapa operator standard. Berikut adalah senarai operator LINQ penting.
Operator | Deskripsi |
---|---|
dari | Menetapkan objek sementara yang digunakan untuk melakukan pertanyaan. Fikirkan operator
ini sebagai mentakrifkan objek elemen individu dari mana anda memperoleh semua data lain untuk pertanyaan itu. Sebagai contoh, anda memilih data apa yang akan muncul dalam output dan bagaimana data itu diperintahkan berdasarkan pembolehubah sementara. Pengendali adalah satu-satunya yang mesti muncul dalam setiap pertanyaan yang anda buat . |
di | Menentukan sumber data yang digunakan untuk mendapatkan data. Sumber data
boleh menjadi objek yang disokong oleh pembekal data. Penyedia membuat sambungan antara sumber data dan pertanyaan LINQ. Sebagai contoh, sumber data boleh memasukkan objek seperti senarai kotak, fail XML, jadual SQL Server, Direktori Aktif, perkhidmatan Web , atau apa sahaja yang anda mahu gunakan untuk mengumpul maklumat . Ia juga mungkin untuk bekerja secara langsung dengan fail pada cakera anda menggunakan pertanyaan LINQ. Permintaan mungkin mengandungi sebanyak pasang dari dan dalam operator yang hampir sama dengan yang diperlukan untuk menerangkan sepenuhnya sumber data yang digunakan dalam pertanyaan. |
pilih | Memilih maklumat keluaran untuk pertanyaan. Output yang paling mudah
adalah objek yang sama yang anda tentukan dengan menggunakan dari operator. Walau bagaimanapun, pengendali pilih boleh memasukkan nilai dikira, tatasusunan data, atau sifat objek individu. Faktor pembatas dalam kebanyakan kes adalah fungsi yang ditawarkan oleh penyedia LINQ . Keempat penyedia lalai termasuk pelbagai tingkah laku operator pilih yang lengkap. Pertanyaan mengandungi hanya satu operator pilih dan pengendali ini mesti muncul sebagai operator terakhir dalam pertanyaan . |
di mana | Menjelaskan syarat-syarat di mana satu unsur muncul sebagai bahagian
output.Di mana operator sentiasa memerlukan hujah Boolean untuk menentukan keadaan output. Anda boleh memasukkan sebanyak mana operator sebagai diperlukan untuk menjelaskan sepenuhnya kriteria keluaran. LINQ menafsirkan di mana pengendali dalam urutan di mana mereka muncul dalam pertanyaan, jadi pesanan adalah penting. Apabila pertanyaan tidak berfungsi seperti yang dijangkakan, cuba ubah susunan operator untuk lebih menggambarkan keperluan output. Gunakan debugger untuk membantu mencari ralat dalam aliran logik di mana operator. |
orderby | Menentukan urutan di mana unsur keluaran muncul. Operator
paling mudah bergantung pada objek yang anda tentukan dengan menggunakan operator . Walau bagaimanapun, pengendali orderby boleh menerima sebarang pernyataan yang mentakrifkan argumen pesanan logik sebagai input - secara amnya angka, abjad, simbol, atau binari. Anda boleh menggunakan seberapa banyak operator orderby sebagai diperlukan untuk menerangkan sepenuhnya urutan output data. Seperti dengan operator di mana operator, LINQ menafsirkan operator orderby dalam susunan di mana ia muncul dalam pertanyaan. Oleh itu, perintah pengendali orderby adalah penting. |
menyertai dan pada | Menggabungkan dua atau lebih sumber data untuk membuat paparan komposit
data. Sumber data tidak perlu bergantung kepada pembekal yang sama. Anda boleh menggunakan seberapa banyak operator bergabung sebagai yang diperlukan untuk menggambarkan sepenuhnya semua sumber data yang digunakan untuk pertanyaan . Operator di atas mentakrifkan kriteria yang digunakan untuk menggabungkan dua sumber data. Pasang pasangan dan operator untuk mencipta sumber data lengkap. |
biarkan | Mencipta nilai yang dikira untuk digunakan dalam pertanyaan. Nilai dihitung
membuat pertanyaan kompleks lebih mudah untuk dirumuskan. Di samping itu, anda boleh lulus nilai dikira ke pemanggil untuk memberikan maklumat output tambahan. Dalam banyak kes, pengendali membiarkan menyediakan cara untuk lulus data yang LINQ tidak akan biasanya lulus kerana konflik penamaan. Anda boleh menggunakan seberapa banyak operator yang diperlukan untuk menyediakan fungsian pertanyaan penuh, tetapi anda harus mengehadkan penggunaan daripada ke keadaan di mana nilai dikira meningkatkan kelajuan pertanyaan. |
Menerokai Kumpulan Pengendali Permintaan Standard LINQ
Menggunakan pengendali pertanyaan standard menjadikan bekerja dengan Bahasa INtegrated Query (LINQ) jauh lebih mudah. Dalam banyak cara, anda mungkin sudah bekerja dengan pengendali pertanyaan mudah. Sebagai contoh, apabila anda menggunakan kata kunci orderby, anda menggunakan pengendali pertanyaan dalam kumpulan penyusun pengadang pertanyaan standard. Apabila anda menggunakan kata kunci di mana, anda menggunakan operator pertanyaan lain, tetapi kali ini ia berada dalam kumpulan penapisan.
Berikut adalah senarai kumpulan pengendali pertanyaan standard dan di mana anda boleh mendapatkan maklumat tambahan.
Kumpulan | Penerangan Kumpulan | Operator Termasuk | Maklumat Tambahan |
---|---|---|---|
Operasi pengagregatan | Pengagregatan semua membantu anda melaksanakan tugas matematik
dengan sumber data. |
Agregat, Rata-Rata, Mengira, LongCount, Max, Min, dan Jumlah | Microsoft
Rangkaian Pembangun: Operasi Pengagregatan |
Operasi penggabungan | Operator penyambungan tunggal membolehkan anda menggabungkan dua | Concat | Microsoft
Rangkaian Pembangun: Operasi Concatenation |
Menukar jenis data | Menukar jenis data datang dalam dua bentuk: tertunda dan
tanpa pengesahan. Pengendali penukaran tertunda menukar keputusan pertanyaan kepada jenis tertentu kerana kod itu menafsirkan keputusan ditetapkan. Pengendali penukaran yang tidak dapat ditukar menukar output pertanyaan kepada jenis tertentu. |
AsEnumerable, AsQueryable, Cast,
OfType, ToArray, ToDictionary, ToList, dan ToLookup |
Microsoft
Rangkaian Pembangun: Menukar Jenis Data |
Operasi Unsur | anda memilih elemen tertentu dalam urutan , walaupun anda tidak mengetahui apa-apa maklumat yang mengenal pasti
tentang elemen itu, seperti namanya. |
ElementAt, ElementAtOrDefault, Pertama, FirstOrDefault, Terakhir,
LastOrDefault, Single, dan SingleOrDefault |
Microsoft
Rangkaian Pembangun: Operasi Element |
Operasi Kesetaraan | dua
urutan adalah sama (bilangan elemen dan kandungan setiap elemen adalah sama). |
SequenceEqual | Microsoft
Rangkaian Pembangun: Operasi Kesaksamaan |
Data penapisan | Pengendali penapisan membantu anda mengecualikan atau menyertakan elemen dalam
urutan berdasarkan kriteria tertentu. |
OfType dan Dimana | Microsoft
Rangkaian Pembangun: Data Penapisan |
Operasi Generasi | Operator generasi membuat urutan baru berdasarkan kriteria
yang anda tetapkan. |
DefaultIfEmpty, Empty, Range, dan
Ulang |
Microsoft
Rangkaian Pembangun: Operasi Generasi |
Pengumpulan data | Pengelompong pengelompokan membantu anda menyusun data dengan ciri
sebagai huruf pertama dalam kumpulan rentetan. |
GroupBy and ToLookup | Microsoft
Rangkaian Pembangun: Data Penggabungan |
Bergabung dengan operasi | Operator bergabung menerima dua atau lebih urutan sebagai input dan
membuat urutan output tunggal berdasarkan gabungan tertentu jenis dan kriteria gabungan. |
Sertai dan GroupJoin | Microsoft
Rangkaian Pembangun: Sertai Operasi |
Pembahagian data | Pengatur partitioning membantu anda seksyen urutan
mencari maklumat tertentu. |
Skip, SkipWhile, Take, and
TakeWhile |
Microsoft
Rangkaian Pembangun: Data Pemisahan |
Operasi unjuran | Operator projection membuat jenis baru berdasarkan permintaan
. |
Pilih dan PilihMany | Microsoft
Rangkaian Pembangun: Operasi Unjuran |
Operasi pengatur | Pengatur kuantif membantu anda memilih unsur berdasarkan kriteria tertentu
. Anda menggunakan pengendali ini untuk menentukan sama ada tiada, satu, atau lebih daripada satu elemen memenuhi kriteria yang dipilih . |
Semua, Mana-mana,
dan Mengandungi |
Microsoft
Rangkaian Pembangun: Operasi Mengira |
Tetapkan operasi | Operator set membuat set. Fikirkan set aritmetik yang anda
dilakukan di sekolah. |
Berbeza, Kecuali, Intersect,
dan Kesatuan |
Microsoft
Rangkaian Pembangun: Operasi Tetapkan |
Mengurutkan data | Pengendali penyusun membantu anda meletakkan urutan ke dalam urutan
tertentu. |
OrderBy, OrderByDescending, ThenBy, ThenByDescending, dan Reverse | Microsoft
Rangkaian Pembangun: Data Sorting |
Microsoft LINQ Resources
semasa mencipta aplikasi Query Language Integrated (LINQ) anda. Berikut adalah senarai sumber Microsoft yang berguna untuk LINQ.
Rangkaian Pembangun Microsoft
Rangkaian Pembangun Microsoft (MSDN) sentiasa menyediakan bahan dasar untuk semua produk pembangunan Microsoft. Anda akan mendapati gudang maklumat keseluruhan di sana - lebih daripada mana-mana satu manusia yang mungkin boleh membaca dalam seumur hidup. Oleh itu, anda perlu menapis maklumat dengan berhati-hati atau anda akan cepat hilang dalam labirin MSDN. Laman MSDN utama untuk bekerja dengan LINQ memberikan anda berita, sumber dan akses kepada maklumat lain seperti contoh.
Blog Microsoft
Microsoft mahu anda tahu bagaimana untuk bekerja dengan LINQ. Pada masa lalu, anda akan mendapat banyak maklumat yang anda perlukan di MSDN. Laman web MSDN masih menjadi tempat yang baik untuk pergi, tetapi banyak pemaju Microsoft mengadu bahawa ia agak terlalu formal (artikel agak sukar difahami dalam beberapa kes) dan tidak ada peluang untuk berinteraksi dengan penulis. Blog Microsoft menyediakan persekitaran yang mesra untuk mendapatkan maklumat di mana anda sebenarnya boleh sesuai dengan pengarangnya. Berikut adalah beberapa blog yang akan anda lawati semasa bekerja dengan LINQ:
-
Beth Massi: Berkongsi kebaikan yang Visual Basic (VB)
-
Blog Komuniti Charlie Calvert
-
Wriju's BLOG:. NET dan Semuanya
Kebanyakan blog ini adalah generik - mereka semua membincangkan isu-isu pengaturcaraan semacamnya. Akibatnya, anda akan mendapati gabungan topik dalam setiap blog. Penulis boleh membincangkan sistem fail dalam satu jawatan dan LINQ yang lain. Setiap mempunyai entri khusus LINQ yang boleh anda cari menggunakan ciri carian di blog. Walaupun Charlie Calvert telah meninggalkan Microsoft, blognya mengandungi banyak maklumat LINQ umum.
Forum Microsoft
Jika anda tidak berfikir bahawa anda mendapat interaksi yang mencukupi dengan Microsoft melalui blog, pekerja Microsoft sering kerap forum Microsoft. Memuat naik mesej ke forum yang betul boleh membuang anda beberapa bantuan profesional atau sekurang-kurangnya beberapa bantuan yang berpengetahuan dari ahli forum lain. Kebanyakan pemaju bergantung kepada forum MSDN untuk soalan asas mengenai LINQ. Anda boleh melihat penyenaraian umum forum di Komuniti Microsoft. Jangan lupa untuk mencuba forum khusus bahasa untuk Visual Basic. BERSIH.