C# 程式使用使用 LINQ 的列表收集的 where() 方法來尋找姓名以「S」開頭的學生列表
簡介
本文要學習的主題是使用List集合的where()方法和LINQ寫一個C#程序,以尋找名字以'S'開頭的學生名單。
語言整合查詢又稱為 LINQ 用於產生 C# 語言查詢。以前我們必須使用其他關係語言,例如 SQL 和 XML。它為 C# 語言或任何其他 .NET 語言提供了更多功能。在 LINQ 中查詢資料庫的語法與查詢數組中儲存的資料的語法相同。
在我們繼續並理解C#程式的演算法和程式碼之前,使用LINQ的List Collection的where()方法找到名字以'S'開頭的學生列表。讓我們簡要複習一下LINQ的簡寫形式。
語言整合查詢 (LINQ)
一個叫做LINQ的.NET框架的一部分使用戶以型別安全的方式更容易檢索資料。這是在.NET 3.5版本中引入的。
LINQ最好的特點是它提供了一種從許多來源(包括資料庫和XML文件)獲取資料的單一方法。借助LINQ,使用者可以編寫更易於理解、更簡潔、更美觀的程式碼。它還提供其他功能,如過濾、排序、分組資料甚至修改資料。
現在,是時候對where()方法進行一些解釋了,它也被稱為Enumerable.Where()方法,屬於命名空間System.Linq。
Where(IEnumerable,Func)
的中文翻譯為:Where(IEnumerable,Func(IEnumerable,Fir<
這個方法屬於命名空間 System.Linq。它根據謂詞對值序列進行過濾。讓我們來看看它的定義語法 -
public static System.Collections.Generic.IEnumerable<TSource> Where<TSource> (this System.Collections.Generic.IEnumerable<TSource> source, Func<TSource,bool> predicate);
這個方法有一個型別參數TSource,它告訴我們來源的元素的型別。另外還有兩個參數,來源是一個IEnumerable
這是一個傳回滿足條件的輸入序列中的項目集合的回傳方法,表示為一個IEnumerable
我們將採取一個問題陳述,這將使我們很容易理解 where() 的概念方法。
在一所學校裡,有一個由來自不同班級的5名成員組成的西洋棋隊。他們分別是Ankit、Abhinay、Shubham、Shreyank和Shahnawaz。他們在不同的班級學習。需要提供一個帶有首字母為'S'的西裝外套。因此,為了知道以'S'開頭的學生的姓名,校長委託你編寫一個選擇以'S'開頭的學生姓名的程式。
現在,在下一節中,我們將討論使用 LINQ 列表集合的 where() 方法編寫 C# 程式來尋找姓名以 'S' 開頭的學生列表的演算法。
演算法
以下是使用where()方法編寫程式碼時需要遵循的步驟。
步驟 1 - 記得宣告使用 where() 方法的正確命名空間,即 System.Linq。
第 2 步− 啟動班級程式碼並宣告三個變數來儲存學生的捲號、班級和姓名。
第 3 步− 在下一步中,我們建立字串方法,該方法傳回學生的捲號、姓名和標準。
第 4 步− 在 main() 部分中,我們宣告列表變量,然後將資料加入到列表中。
第五步驟 − 現在我們使用where()方法根據使用者提供的謂詞來過濾所需的資訊。
第6步 − 在這一步驟中,我們顯示所獲得的詳細資訊。然後結束程式。
範例
讓我們透過一個例子來討論這個問題。
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()); } } }
輸出
Roll Name Standard - - - - - - - - - - - - - - - - - 07 Shubham 11 14 Shreyank 12 10 Shanawaz 11
時間複雜度
where() 方法的時間複雜度是常數,用 Big-O 表示法可以稱為 O(1)。因此整個程式碼的時間複雜度為O(1)。
結論
在本文中,我們討論了一個 C# 程序,該程序使用 LINQ 的列表集合的 where() 方法查找姓名以“S”開頭的學生列表。我們理解了 where() 方法。然後我們了解了演算法,最後我們學習了程式碼。然後我們就了解了程式碼的時間複雜度。
我們希望本文對增強您對 C# 的了解有所幫助。
以上是C# 程式使用使用 LINQ 的列表收集的 where() 方法來尋找姓名以「S」開頭的學生列表的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發環境

Dreamweaver CS6
視覺化網頁開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

熱門話題

C語言中通過轉義序列處理特殊字符,如:\n表示換行符。 \t表示製表符。使用轉義序列或字符常量表示特殊字符,如char c = '\n'。注意,反斜杠需要轉義兩次。不同平台和編譯器可能有不同的轉義序列,請查閱文檔。

在 C 語言中,char 類型在字符串中用於:1. 存儲單個字符;2. 使用數組表示字符串並以 null 終止符結束;3. 通過字符串操作函數進行操作;4. 從鍵盤讀取或輸出字符串。

在 C 語言中,char 和 wchar_t 的主要區別在於字符編碼:char 使用 ASCII 或擴展 ASCII,wchar_t 使用 Unicode;char 佔用 1-2 個字節,wchar_t 佔用 2-4 個字節;char 適用於英語文本,wchar_t 適用於多語言文本;char 廣泛支持,wchar_t 依賴於編譯器和操作系統是否支持 Unicode;char 的字符範圍受限,wchar_t 的字符範圍更大,並使用專門的函數進行算術運算。

C 語言中符號的使用方法涵蓋算術、賦值、條件、邏輯、位運算符等。算術運算符用於基本數學運算,賦值運算符用於賦值和加減乘除賦值,條件運算符用於根據條件執行不同操作,邏輯運算符用於邏輯操作,位運算符用於位級操作,特殊常量用於表示空指針、文件結束標記和非數字值。

多線程和異步的區別在於,多線程同時執行多個線程,而異步在不阻塞當前線程的情況下執行操作。多線程用於計算密集型任務,而異步用於用戶交互操作。多線程的優勢是提高計算性能,異步的優勢是不阻塞 UI 線程。選擇多線程還是異步取決於任務性質:計算密集型任務使用多線程,與外部資源交互且需要保持 UI 響應的任務使用異步。

在 C 語言中,char 類型轉換可以通過:強制類型轉換:使用強制類型轉換符將一種類型的數據直接轉換為另一種類型。自動類型轉換:當一種類型的數據可以容納另一種類型的值時,編譯器自動進行轉換。

char 數組在 C 語言中存儲字符序列,聲明為 char array_name[size]。訪問元素通過下標運算符,元素以空終止符 '\0' 結尾,用於表示字符串終點。 C 語言提供多種字符串操作函數,如 strlen()、strcpy()、strcat() 和 strcmp()。

C語言中沒有內置求和函數,需自行編寫。可通過遍歷數組並累加元素實現求和:循環版本:使用for循環和數組長度計算求和。指針版本:使用指針指向數組元素,通過自增指針遍歷高效求和。動態分配數組版本:動態分配數組並自行管理內存,確保釋放已分配內存以防止內存洩漏。
