首頁  >  文章  >  後端開發  >  C# 程式從物件清單中尋找整數並使用 LINQ 對它們進行排序

C# 程式從物件清單中尋找整數並使用 LINQ 對它們進行排序

PHPz
PHPz轉載
2023-09-07 18:57:12805瀏覽

C# 程序从对象列表中查找整数并使用 LINQ 对它们进行排序

簡介

在本文中,我們將學習如何編寫 C# 程式從物件清單中尋找整數並使用 LINQ 對它們進行排序。讓我們對該語言進行一個簡單的概述。 C# 程式語言經常用於開發桌面、Web 和行動應用程式。語言整合查詢(有時稱為 LINQ)是 C# 的強項之一。開發人員可以快速查詢來自各種來源的數據,包括陣列、集合和資料庫。它使開發人員能夠使用與 SQL(結構化查詢語言)相當的語法,並支援簡單的資料操作和排序。無論資料來源為何,它都提供資料查詢的標準語法。由於LINQ的語法與SQL類似,開發人員可以輕鬆學習和使用它。

問題陳述

在本文中,我們將示範如何從物件清單中尋找整數並使用 C# 中的 LINQ 對它們進行排序。整數雙精度數必須從物件列表中獲取,然後必須對它們進行排序。因此,OfType() 方法可用於此操作,OrderBy() 函數可用於對整數進行排序。讓我們分別回顧一下它們及其語法 -

OfType() 方法

它用於根據指定類型過濾 IEnumerable 的元素。如果提供的來源為 null,此方法將拋出 ArgumentNullException 例外。

文法

public static System.Collections.Generic.IEnumerable<TResult> OfType<TResult>(this System.Collections.IEnumerable source); 

OrderBy() 方法

使用此技術按升序對集合中的元素進行排序。如果提供的來源為 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中文網其他相關文章!

陳述:
本文轉載於:tutorialspoint.com。如有侵權,請聯絡admin@php.cn刪除
上一篇:C# 中的網絡下一篇:C# 中的網絡