Rumah > pembangunan bahagian belakang > Tutorial C#.Net > Program C# untuk mencari senarai pelajar yang namanya bermula dengan 'S' menggunakan kaedah where() koleksi senarai menggunakan LINQ

Program C# untuk mencari senarai pelajar yang namanya bermula dengan 'S' menggunakan kaedah where() koleksi senarai menggunakan LINQ

WBOY
Lepaskan: 2023-09-11 21:29:02
ke hadapan
1432 orang telah melayarinya

C# 程序使用使用 LINQ 的列表收集的 where() 方法查找姓名以“S”开头的学生列表

Pengenalan

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.

Pertanyaan Bersepadu Bahasa (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.

Where(IEnumerable,Func) Terjemahan bahasa Cina bagi

ialah:

Where(IEnumerces Source> , Boolean>)

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);
Salin selepas log masuk

Kaedah ini mempunyai parameter jenis TSource, yang memberitahu kami jenis elemen sumber. Terdapat juga dua parameter, sumber ialah IEnumerable 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 IEnumerable. 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.

Algoritma

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 3

Langkah 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());
      }
   }
} 
Salin selepas log masuk
Output
Roll Name Standard
- - - - - - - - - - - - - - - - -
07 Shubham 11
14 Shreyank 12
10 Shanawaz 11 
Salin selepas log masuk
Kerumitan masa Kerumitan masa kaedah where() adalah malar, yang boleh dipanggil O(1) dalam tatatanda Big-O. Jadi kerumitan masa keseluruhan kod ialah O(1).

Kesimpulan

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!

sumber:tutorialspoint.com
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan