Heim >Backend-Entwicklung >C#.Net-Tutorial >C#-Programm zum Suchen von Ganzzahlen aus einer Liste von Objekten und zum Sortieren dieser mithilfe von LINQ
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.
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 –
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.
public static System.Collections.Generic.IEnumerable<TResult> OfType<TResult>(this System.Collections.IEnumerable source);
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.
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.
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]
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.
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
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!