Heim >Backend-Entwicklung >C#.Net-Tutorial >C#-Programm zum Suchen von Ganzzahlen aus einer Liste von Objekten und zum Sortieren dieser mithilfe von LINQ

C#-Programm zum Suchen von Ganzzahlen aus einer Liste von Objekten und zum Sortieren dieser mithilfe von LINQ

PHPz
PHPznach vorne
2023-09-07 18:57:12852Durchsuche

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

Einführung

In diesem Artikel erfahren Sie, wie Sie ein C#-Programm schreiben, um Ganzzahlen aus einer Liste von Objekten zu finden und sie mithilfe von LINQ zu sortieren. Lassen Sie uns einen kurzen Überblick über die Sprache geben. Die Programmiersprache C# wird häufig zur Entwicklung von Desktop-, Web- und mobilen Anwendungen verwendet. Sprachintegrierte Abfragen (manchmal auch LINQ genannt) sind eine der Stärken von C#. Entwickler können schnell Daten aus einer Vielzahl von Quellen abfragen, darunter Arrays, Sammlungen und Datenbanken. Es ermöglicht Entwicklern die Verwendung einer SQL-äquivalenten Syntax (Structured Query Language) und unterstützt die einfache Datenbearbeitung und -sortierung. Es bietet eine Standardsyntax für die Datenabfrage unabhängig von der Datenquelle. Da die Syntax von LINQ SQL ähnelt, können Entwickler sie leicht erlernen und verwenden.

Problemstellung

In diesem Artikel zeigen wir, wie man Ganzzahlen aus einer Liste von Objekten findet und sie mit LINQ in C# sortiert. Ganzzahlige Duplikate müssen aus einer Liste von Objekten abgerufen und dann sortiert werden. Daher kann für diese Operation die Methode OfType() und zum Sortieren von Ganzzahlen die Funktion OrderBy() verwendet werden. Sehen wir uns jeden von ihnen und seine Syntax an –

OfType()-Methode

Es wird verwendet, um die Elemente von IEnumerable nach dem angegebenen Typ zu filtern. Wenn die angegebene Quelle null ist, löst diese Methode eine ArgumentNullException aus.

Grammatik

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

OrderBy()-Methode

Verwenden Sie diese Technik, um die Elemente in einer Sammlung in aufsteigender Reihenfolge zu sortieren. Diese Prozedur löst auch eine ArgumentNullException aus, wenn die angegebene Quelle null ist.

Grammatik

public static System.Linq.IOrderedEnumerable
OrderBy<TSource,TKey(thisSystem.Collections.Generic.IEnumerable<TSource> list, Func<TSource,TKey> Selector); 

Lassen Sie uns dieses Problem anhand eines Beispiels verstehen.

Beispiel

Erstellen Sie eine Liste und fügen Sie Elemente hinzu. In diesem Beispiel nehmen wir Objekte unterschiedlicher Datentypen.

Eintreten

["Tutpoints", 100, "LINQ", 18, “50”, 20, ‘A’, 34] 

Für verschiedene Objekte sortieren und ordnen die Methoden OfType() und OrderBy() die ganzzahligen Werte in der Liste. Die Ausgabe angesichts der Eingabe ist also

Ausgabe

[18, 20, 34,100]

Algorithmus

Schritt 1 Objektliste erstellen

Wir erstellen zunächst eine Liste von Objekten, die aus einer Kombination von Zeichenfolgen, Ganzzahlen und Zeichen besteht.

List<object> list = new List<object> { "Tutpoints", 100, "LINQ", 18, “50”, 20, ‘A’, 34}; 

Schritt 2 Verwenden Sie die OfType()-Methode, um Ganzzahlen zu finden

Die Methode OfType() wird dann verwendet, um die Liste zu filtern, sodass nur ganzzahlige Werte erhalten bleiben.

var integers = list.OfType<int>(); 

Die von LINQ bereitgestellte Erweiterungsmethode heißt OfType(). Es gibt eine gefilterte Liste solcher Einträge zurück. In diesem Beispiel wird die Liste so gefiltert, dass sie nur Elemente vom Typ int enthält. Jetzt erscheinen nur noch die ganzzahligen Werte aus der ersten Liste in der ganzzahligen Variablen.

Schritt 3 Verwenden Sie OrderBy(), um die Ganzzahlen zu sortieren

Wir können die Funktion OrderBy() verwenden, um eine Folge ganzzahliger Werte in aufsteigender Reihenfolge zu sortieren.

var sortedIntegers = integers.OrderBy(x => x); 

Eine weitere von LINQ bereitgestellte Erweiterungsfunktion ist OrderBy(). Es sortiert die Liste der Elemente in aufsteigender Reihenfolge basierend auf dem angegebenen Schlüssel. In diesem Beispiel wird ein Lambda-Ausdruck (x => x) verwendet, um den Schlüssel anzugeben, nach dem die Reihe sortiert wird. Übergeben Sie das Sequenzelement (x) an einen Lambda-Ausdruck, der dann den Wert zurückgibt, der als Sortierschlüssel dienen wird.

Die ganzzahligen Werte aus der ursprünglichen Liste erscheinen nun in der Variable sortedIntegers, sortiert in aufsteigender Reihenfolge.

Schritt 4 Drucken Sie die sortierten Ganzzahlen.

Schließlich können wir die foreach-Schleife und die Methode Console.WriteLine() verwenden, um die sortierten Ganzzahlwerte auszudrucken.

Dies ist ein einfacher Algorithmus, über den wir gerade gelesen haben. Schauen wir uns nun ein vollständiges C#-Programm an, das zeigt, wie man Ganzzahlen aus einer Liste von Objekten findet und sie mit LINQ sortiert.

Beispiel

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);
      }
   }
} 

Ausgabe

Sorted integer values are:
18
20
34
100

Fazit

In diesem Artikel zeigen wir Ihnen, wie Sie Ganzzahlen aus einer Liste von Objekten finden und sie mithilfe von LINQ in C# sortieren. Nachdem wir mit der Funktion OfType() alle Werte außer ganzzahligen Werten aus der Liste entfernt haben, sortieren wir die ganzen Zahlen mit der Methode OrderBy(). Abschließend verwenden wir den Befehl print, um die sortierten Ganzzahlwerte auf der Konsole anzuzeigen. Wir haben den Algorithmus kennengelernt und den Code gesehen. Wir hoffen, dass dieser Artikel Ihnen hilft, Ihr Wissen und Verständnis zu diesem Thema zu erweitern.

Das obige ist der detaillierte Inhalt vonC#-Programm zum Suchen von Ganzzahlen aus einer Liste von Objekten und zum Sortieren dieser mithilfe von LINQ. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Dieser Artikel ist reproduziert unter:tutorialspoint.com. Bei Verstößen wenden Sie sich bitte an admin@php.cn löschen
Vorheriger Artikel:Netzwerken in C#Nächster Artikel:Netzwerken in C#