Rumah  >  Artikel  >  pembangunan bahagian belakang  >  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
WBOYke hadapan
2023-09-11 21:29:021385semak imbas

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.

Where767cb18821eb42d0be2dbae71b5cc905(IEnumerable51957562cc2184b000bf5b07c9632283,Funcff5fbc224e3c4313d042b3d11149c3f2) Terjemahan bahasa Cina bagi

ialah:

Where767cb18821eb42d0be2dbae71b5cc905(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);

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.

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());
      }
   }
} 
Output
Roll Name Standard
- - - - - - - - - - - - - - - - -
07 Shubham 11
14 Shreyank 12
10 Shanawaz 11 
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!

Kenyataan:
Artikel ini dikembalikan pada:tutorialspoint.com. Jika ada pelanggaran, sila hubungi admin@php.cn Padam