Heim > Backend-Entwicklung > C#.Net-Tutorial > C#-Programm zum Suchen negativer Doppelzahlen aus einer Liste von Objekten mithilfe von LINQ

C#-Programm zum Suchen negativer Doppelzahlen aus einer Liste von Objekten mithilfe von LINQ

PHPz
Freigeben: 2023-09-03 16:37:02
nach vorne
1251 Leute haben es durchsucht

使用 LINQ 从对象列表中查找负双精度数的 C# 程序

Einführung

In diesem Artikel erfahren Sie, wie Sie mit LINQ ein C#-Programm schreiben, um negative gerade Zahlen aus einer Liste von Objekten zu finden.

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. Die Verarbeitung großer Datenmengen kann mit jeder Programmiersprache schwierig sein. Das Finden von Datenpunkten, die bestimmte Anforderungen erfüllen, oder das Herausfiltern bestimmter Werte sind häufige Aktivitäten bei der Arbeit mit Daten. Die Language Integrated Query (LINQ)-Funktion von C# kann zur Vereinfachung und Verbesserung der Datenverarbeitung verwendet werden. 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. Da die Syntax von LINQ SQL ähnelt, können Entwickler sie leicht erlernen und verwenden.

Problemstellung

In diesem Artikel zeigen wir, wie man mit LINQ negative Doppelzahlen aus einer Liste von Objekten findet. Um mit LINQ negative Doppelzahlen aus dieser Liste zu finden, müssen wir die folgenden Schritte ausführen:

  • Filtern Sie doppelte Werte aus der Liste heraus.

  • Negative Doppelwerte aus der Liste herausfiltern.

Wir können dies erreichen, indem wir die Funktion Where() in Kombination mit der Methode OfType() verwenden. Lassen Sie uns sie einzeln und ihre Syntax vorstellen -

Die Übersetzung von

OfType()

lautet:

OfType()

Die Methode

OfType() wird verwendet, um die Elemente von IEnumerable nach dem angegebenen Typ zu filtern. Mit anderen Worten: Mit dieser Methode wird eine Listen- oder Sequenzquelle danach gefiltert, ob sie eine Sammlung von Elementen in einen bestimmten Typ konvertieren kann. Wenn die angegebene Quelle null ist, wird eine ArgumentNullException ausgelöst.

Grammatik

public static System.Collections.Generic.IEnumerable<TResult> OfType<TResult>(this System.Collections.IEnumerable source); 
Nach dem Login kopieren
Die Übersetzung von

Where()

lautet:

Where()

Verwenden Sie die Methode Where(), um Werte basierend auf einer Prädikatfunktion zu filtern. Man kann auch sagen, dass es Werte in einer Reihenfolge oder Liste basierend auf bestimmten Bedingungen oder Anforderungen zurückgibt.

Grammatik

Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) 
Nach dem Login kopieren

Erstellen wir eine Liste mit Objekten unterschiedlicher Datentypen.

Input List: { 3.14, -2.71, "hello", 0, “-7.5”, "world", -4.2, ‘a’, -3}
Nach dem Login kopieren

Wir haben eine Liste von Elementen mit unterschiedlichen Datentypen erhalten. Die Ausgabe enthält jetzt nur noch negative Doubles.

Output: {-2.71, -4.2}
Nach dem Login kopieren

Lass uns verstehen

Algorithmus

Schritt 1 – Erstellen Sie eine Liste mit Objekten

List<object> list = new List<object>() 
Nach dem Login kopieren

Schritt 2 – Wählen Sie den Double-Wert aus der Liste aus.

Wir können die OfType()-Methode von LINQ verwenden, um doppelte Werte aus einer Liste zu entfernen. Nach dem Filtern der Sammlung gibt diese Funktion nur Elemente des bereitgestellten Typs „double“ zurück. In unserem Fall wollen wir nur die doppelten Werte aus der Liste entfernen. So wenden wir diese Strategie an –

var doubles = list.OfType<double>(); 
Nach dem Login kopieren

Schritt 3 – Wählen Sie aus den in der Liste ausgewählten Doppelwerten den negativen Doppelwert aus. Um negative Double-Werte aus der Sammlung herauszufiltern, muss ein Filter verwendet werden. Dies kann mit der LINQ-Methode Where() erreicht werden. Diese Methode gibt nach dem Anwenden eines Filters auf die Sammlung nur Elemente zurück, die dem Filter entsprechen. In diesem Fall möchten wir nur die negativen Doppelwerte in der Sammlung herausfiltern. Hier erfahren Sie, wie Sie diese Technik anwenden.

var negativeDoubles = doubles.Where(d => d < 0); 
Nach dem Login kopieren

Schritt 4 – Verwenden Sie abschließend eine foreach-Schleife, um das negative Double zu drucken.

foreach (var d in doubles)
{
   Console.WriteLine(d);
}
Nach dem Login kopieren

Dies sind einfache Schritte, um negative Zahlen aus einer Liste zu erhalten. Werfen wir einen Blick auf den Code.

Beispiel

using System;
using System.Collections.Generic;
using System.Linq;
class Program {
   static void Main(string[] args) {
      List<object> list = new List<object> {
         -2,3.14, -2.71, "hello", 0,"-7.5" , "world", -4.2
      };
      var doubles = list.OfType<double>().Where(d => d < 0);
      foreach (var d in doubles) {
         Console.WriteLine(d);
      }
   }
}
Nach dem Login kopieren

Ausgabe

Die Ausgabe des obigen Codes ist -

-2.71 
-4.2 
Nach dem Login kopieren

Hinweis − Sie fragen sich vielleicht, warum -2 und -7,5 hier nicht erwähnt werden. Dies liegt daran, dass -2 eine negative Zahl, aber kein Double ist. Und -7,5 wird als „-7,5“ geschrieben, was als Zeichenfolge behandelt wird.

Fazit

In diesem Beitrag zeigen wir, wie man mit LINQ in C# negative Doppelzahlen aus einer Liste von Objekten findet. Wir haben zwei Methoden Where() und OfType() verwendet, um den Code zu schreiben. Wir haben kurz die Methoden Where() und OfType() besprochen. Die Problemstellung wird anhand eines Beispiels erläutert. Nachdem wir den Algorithmus besprochen haben. Abschließend werden der Code und die Ausgabe angezeigt. Wir hoffen, dass dieser Artikel Ihnen hilft, Ihr Wissen und Ihr Verständnis zu diesem Thema zu erweitern.

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

Quelle:tutorialspoint.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage