Rumah > Artikel > pembangunan bahagian belakang > Program C# untuk mencari senarai pelajar yang namanya bermula dengan 'S' menggunakan kaedah where() koleksi senarai menggunakan LINQ
Topik yang akan dipelajari dalam artikel ini ialah menggunakan kaedah where() koleksi Senarai dan LINQ untuk menulis program C# untuk mencari senarai pelajar yang namanya bermula dengan 'S'.
Language Integrated Query aka LINQ digunakan untuk menjana pertanyaan bahasa C#. Sebelum ini kami terpaksa menggunakan bahasa perhubungan lain seperti SQL dan XML. Ia menyediakan lebih banyak ciri kepada bahasa C# atau mana-mana bahasa .NET yang lain. Sintaks untuk menanyakan pangkalan data dalam LINQ adalah sama seperti untuk menanyakan data yang disimpan dalam tatasusunan.
Sebelum kita meneruskan dan memahami algoritma dan kod program C#, gunakan kaedah where() LINQ's List Collection untuk mencari senarai pelajar yang namanya bermula dengan 'S'. Mari kita semak secara ringkas bentuk singkatan LINQ.
Sebahagian daripada rangka kerja .NET yang dipanggil LINQ memudahkan pengguna mendapatkan semula data dengan cara yang selamat jenis. Ini telah diperkenalkan dalam versi .NET 3.5.
Ciri terbaik LINQ ialah ia menyediakan satu cara untuk mendapatkan data daripada banyak sumber, termasuk pangkalan data dan dokumen XML. Dengan LINQ, pengguna boleh menulis kod yang lebih mudah difahami, lebih ringkas dan lebih cantik. Ia juga menyediakan ciri lain seperti menapis, menyusun, mengumpulkan data dan juga mengubah suai data.
Kini, tiba masanya untuk memberikan beberapa penjelasan tentang kaedah where(), yang juga dipanggil kaedah Enumerable.Where() dan tergolong dalam System.Linq namespace.
Kaedah ini tergolong dalam Sistem ruang nama.Linq. Ia menapis jujukan nilai berdasarkan predikat. Mari kita lihat sintaks definisinya -
public static System.Collections.Generic.IEnumerable<TSource> Where<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
Kaedah ini mempunyai parameter jenis TSource, yang memberitahu kami jenis elemen sumber. Terdapat juga dua parameter, sumber ialah IEnumerable8742468051c85b06f0a0af9e3e506b5c digunakan untuk penapisan dan predikat ialah fungsi yang digunakan untuk menguji sama ada setiap elemen memenuhi syarat.
Ini ialah kaedah pemulangan yang mengembalikan koleksi item dalam urutan input yang memenuhi syarat, dinyatakan sebagai IEnumerable8742468051c85b06f0a0af9e3e506b5c. ArgumentNullException mungkin dilemparkan apabila predikat atau sumbernya adalah nol.
Kami akan mengambil pernyataan masalah yang akan memudahkan kami memahami pendekatan konsep where().
Di sebuah sekolah, terdapat pasukan catur yang dianggotai oleh 5 orang ahli daripada kelas yang berbeza. Mereka ialah Ankit, Abhinay, Shubham, Shreyank dan Shahnawaz. Mereka belajar di kelas yang berbeza. Blazer dengan huruf awalan 'S' diperlukan. Oleh itu, untuk mengetahui nama pelajar bermula dengan 'S', pengetua telah menugaskan anda untuk menulis program yang memilih nama pelajar bermula dengan 'S'.
Sekarang, dalam bahagian seterusnya, kita akan membincangkan algoritma untuk menulis program C# untuk mencari senarai pelajar yang namanya bermula dengan 'S' menggunakan kaedah where() koleksi senarai LINQ.
Berikut ialah langkah yang perlu anda ikuti semasa menulis kod program menggunakan kaedah where().
Langkah 1 - Ingat untuk mengisytiharkan ruang nama yang betul menggunakan kaedah where(), iaitu System.Linq.
Langkah 2 − Mulakan kod kelas dan isytiharkan tiga pembolehubah untuk menyimpan nombor daftar, kelas dan nama pelajar.
Langkah 3Langkah 4−
Dalam bahagian main(), kami mengisytiharkan pembolehubah senarai dan kemudian menambah data pada senarai.Langkah 5 −
Kini kami menggunakan kaedah where() untuk menapis maklumat yang diperlukan berdasarkan predikat yang diberikan oleh pengguna.Langkah 6 −
Dalam langkah ini, kami memaparkan maklumat terperinci yang diperolehi. Kemudian tamatkan program.Mari kita bincangkan isu ini melalui contoh.
using System.Linq; using System; using System.Collections.Generic; using System.Threading.Tasks; using System.Text; class Student{ // Three variables to store roll number, class, and name of the student int roll; int std; string name; // Creating the string method which returns roll number, name, and standard of student public override string ToString(){ return roll + " " + name + " " + std; } static void Main(string[] args){ // Declaring a list variable List<Student> student = new List<Student>(){ // Details of students of the chess team new Student{ roll = 21, name = "Ankit", std = 10 }, new Student{ roll = 12, name = "Abhinay", std = 10 }, new Student{ roll = 07, name = "Shubham", std = 11 }, new Student{ roll = 14, name = "Shreyank", std = 12 }, new Student{ roll = 10, name = "Shanawaz", std = 11 } }; // Using the Where() function we search through the student details IEnumerable<Student> Query = student.Where(s => s.name[0] == 'S'); // Displaying the student details Console.WriteLine("Roll Name Standard"); Console.WriteLine("- - - - - - - - - - - - - - - - - "); foreach (Student e in Query) { // Call the to string method Console.WriteLine(e.ToString()); } } }Output
Roll Name Standard - - - - - - - - - - - - - - - - - 07 Shubham 11 14 Shreyank 12 10 Shanawaz 11Kerumitan masa Kerumitan masa kaedah where() adalah malar, yang boleh dipanggil O(1) dalam tatatanda Big-O. Jadi kerumitan masa keseluruhan kod ialah O(1).
Dalam artikel ini, kami membincangkan program C# yang menggunakan kaedah where() koleksi senarai LINQ untuk mencari senarai pelajar yang namanya bermula dengan "S". Kami memahami kaedah where(). Kemudian kami belajar tentang algoritma dan akhirnya kami belajar tentang kod. Kemudian kami memahami kerumitan masa kod.
Kami berharap artikel ini telah membantu dalam meningkatkan pengetahuan anda tentang C#.
Atas ialah kandungan terperinci Program C# untuk mencari senarai pelajar yang namanya bermula dengan 'S' menggunakan kaedah where() koleksi senarai menggunakan LINQ. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!