在本文中,我們將學習如何編寫 C# 程式從物件清單中尋找整數並使用 LINQ 對它們進行排序。讓我們對該語言進行一個簡單的概述。 C# 程式語言經常用於開發桌面、Web 和行動應用程式。語言整合查詢(有時稱為 LINQ)是 C# 的強項之一。開發人員可以快速查詢來自各種來源的數據,包括陣列、集合和資料庫。它使開發人員能夠使用與 SQL(結構化查詢語言)相當的語法,並支援簡單的資料操作和排序。無論資料來源為何,它都提供資料查詢的標準語法。由於LINQ的語法與SQL類似,開發人員可以輕鬆學習和使用它。
在本文中,我們將示範如何從物件清單中尋找整數並使用 C# 中的 LINQ 對它們進行排序。整數雙精度數必須從物件列表中獲取,然後必須對它們進行排序。因此,OfType() 方法可用於此操作,OrderBy() 函數可用於對整數進行排序。讓我們分別回顧一下它們及其語法 -
它用於根據指定類型過濾 IEnumerable 的元素。如果提供的來源為 null,此方法將拋出 ArgumentNullException 例外。
public static System.Collections.Generic.IEnumerable<TResult> OfType<TResult>(this System.Collections.IEnumerable source);
使用此技術按升序對集合中的元素進行排序。如果提供的來源為 null,則此程序也會引發 ArgumentNullException。
public static System.Linq.IOrderedEnumerable OrderBy<TSource,TKey(thisSystem.Collections.Generic.IEnumerable<TSource> list, Func<TSource,TKey> Selector);
讓我們透過一個例子來理解這個問題。
建立一個清單並在其中新增元素。在此範例中,我們採用不同資料類型的物件。
輸入
["Tutpoints", 100, "LINQ", 18, “50”, 20, ‘A’, 34]
對於不同的對象,OfType() 和 OrderBy() 方法將對列表中的整數值進行排序和排列。所以給定輸入的輸出是
輸出
[18, 20, 34,100]
第 1 步 − 建立物件清單
我們先建立一個由字串、整數和字元組合組成的物件清單。
List<object> list = new List<object> { "Tutpoints", 100, "LINQ", 18, “50”, 20, ‘A’, 34};
第 2 步 − 使用 OfType() 方法找出整數
然後,OfType() 方法將用於過濾列表,以便僅保留整數值。
var integers = list.OfType<int>();
LINQ 提供的擴充方法稱為 OfType()。它會傳回一個經過過濾的此類條目清單。在本例中,清單被過濾為僅包含 int 類型的元素。現在只有第一個清單中的整數值出現在整數變數中。
第 3 步 − 使用 OrderBy() 對整數進行排序
我們可以使用 OrderBy() 函數對整數值序列進行升序排序。
var sortedIntegers = integers.OrderBy(x => x);
LINQ 提供的另一個擴充函數是 OrderBy()。根據給定的鍵,它對元素列表進行升序排序。在本例中,使用 lambda 表達式 (x => x) 指定對系列進行排序的鍵。將序列元素 (x) 傳遞給 lambda 表達式,然後該表達式傳回將作為排序鍵的值。
初始清單中的整數值現在出現在sortedIntegers 變數中,並按升序排列。
第 4 步 −列印排序後的整數。
最後,我們可以使用 foreach 迴圈和 Console.WriteLine() 方法列印出排序後的整數值。
這是我們剛剛讀過的一個簡單演算法。現在讓我們看一下完整的 C# 程序,該程序演示如何從物件列表中找到整數並使用 LINQ 對它們進行排序。
using System; using System.Collections.Generic; using System.Linq; class Program { static void Main(string[] args) { List<object> list = new List<object> { "Tutpoints", 100, "LINQ", 18, "50", 20, 'A', 34 }; var integers = list.OfType<int>(); var sortedIntegers = integers.OrderBy(x => x); Console.WriteLine("Sorted integer values are:"); foreach (int integer in sortedIntegers) { Console.WriteLine(integer); } } }
Sorted integer values are: 18 20 34 100
在這篇文章中,我們向您展示如何在 C# 中使用 LINQ 從物件清單中尋找整數並對它們進行排序。使用 OfType() 函數從清單中刪除除整數值之外的所有值後,我們使用 OrderBy() 方法對整數進行排序。最後,我們使用列印命令將排序後的整數值顯示到控制台。我們已經了解了演算法,也看到了程式碼。我們希望本文可以幫助您增強對該主題的了解和理解。
以上是C# 程式從物件清單中尋找整數並使用 LINQ 對它們進行排序的詳細內容。更多資訊請關注PHP中文網其他相關文章!