Maison  >  Article  >  développement back-end  >  Programme C# pour rechercher des nombres doubles négatifs dans une liste d'objets à l'aide de LINQ

Programme C# pour rechercher des nombres doubles négatifs dans une liste d'objets à l'aide de LINQ

PHPz
PHPzavant
2023-09-03 16:37:021158parcourir

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

Présentation

Dans cet article, nous apprendrons comment écrire un programme C# pour trouver des nombres pairs négatifs à partir d'une liste d'objets à l'aide de LINQ.

Donnons un bref aperçu de la langue. Le langage de programmation C# est fréquemment utilisé pour développer des applications de bureau, Web et mobiles. Le traitement de grandes quantités de données peut être difficile avec n’importe quel langage de programmation. La recherche de points de données qui répondent à un ensemble spécifique d'exigences ou le filtrage de valeurs spécifiques sont des activités courantes lorsque l'on travaille avec des données. La fonctionnalité Language Integrated Query (LINQ) de C# peut être utilisée pour simplifier et améliorer le traitement des données. Les développeurs peuvent rapidement interroger des données provenant de diverses sources, notamment des tableaux, des collections et des bases de données. Il permet aux développeurs d'utiliser une syntaxe équivalente à SQL (Structured Query Language) et prend en charge une manipulation et un tri simples des données. La syntaxe de LINQ étant similaire à celle de SQL, les développeurs peuvent facilement l'apprendre et l'utiliser.

Énoncé du problème

Dans cet article, nous montrerons comment trouver des nombres doubles négatifs à partir d'une liste d'objets à l'aide de LINQ. Pour trouver des nombres doubles négatifs de cette liste à l'aide de LINQ, nous devons effectuer les étapes suivantes -

  • Filtrez les valeurs en double de la liste.

  • Filtrez les doubles valeurs négatives de la liste.

Nous pouvons y parvenir en utilisant la fonction Where() en combinaison avec la méthode OfType(). Présentons-les un par un ainsi que leur syntaxe -

OfType()

se traduit par :

OfType()

La méthode

OfType() est utilisée pour filtrer les éléments de IEnumerable en fonction du type donné. En d’autres termes, cette méthode est utilisée pour filtrer une source de liste ou de séquence selon qu’elle a la capacité de convertir une collection d’éléments en un type spécifique. Si la source fournie est nulle, une ArgumentNullException est levée.

Grammaire

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

Où()

est :

Où()

Utilisez la méthode Where() pour filtrer les valeurs en fonction d'une fonction de prédicat. On peut également dire qu'il renvoie des valeurs dans une séquence ou une liste en fonction de conditions ou d'exigences spécifiées.

Grammaire

Where<TSource>(IEnumerable<TSource>, Func<TSource,Boolean>) 

Créons une liste contenant des objets de différents types de données.

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

Nous avons reçu une liste d'éléments avec différents types de données. La sortie ne contiendra désormais que des doubles négatifs.

Output: {-2.71, -4.2}

Comprenons-nous

Algorithme

Étape 1 - Créer une liste d'objets

List<object> list = new List<object>() 

Étape 2 - Sélectionnez la valeur double dans la liste.

Nous pouvons utiliser la méthode OfType() de LINQ pour supprimer les valeurs doubles d'une liste. Après avoir filtré la collection, cette fonction renvoie uniquement les éléments du type fourni "double". Dans notre cas, nous souhaitons supprimer uniquement les valeurs doubles de la liste. Voici comment nous appliquons cette stratégie -

var doubles = list.OfType<double>(); 

Étape 3 - Parmi les valeurs doubles sélectionnées dans la liste, sélectionnez la valeur double négative. Un filtre doit être utilisé pour filtrer les doubles valeurs négatives de la collection. Ceci peut être réalisé en utilisant la méthode LINQ Where(). Cette méthode, après avoir appliqué un filtre à la collection, renvoie uniquement les éléments qui correspondent au filtre. Dans ce cas, nous souhaitons filtrer uniquement les doubles valeurs négatives de la collection. Voici comment appliquer cette technique.

var negativeDoubles = doubles.Where(d => d < 0); 

Étape 4 - Enfin, utilisez une boucle foreach pour imprimer le double négatif.

foreach (var d in doubles)
{
   Console.WriteLine(d);
}

Ce sont des étapes simples pour obtenir des nombres négatifs à partir d’une liste. Jetons un coup d'oeil au code.

Exemple

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

Sortie

La sortie du code ci-dessus est -

-2.71 
-4.2 

Remarque − Vous vous demandez peut-être pourquoi -2 et -7,5 ne sont pas mentionnés ici. En effet, -2 est un nombre négatif, mais pas un double. Et -7.5 s'écrit "-7.5", qui est traité comme une chaîne.

Conclusion

Dans cet article, nous montrons comment trouver des nombres doubles négatifs à partir d'une liste d'objets à l'aide de LINQ en C#. Nous avons utilisé deux méthodes Where() et OfType() pour écrire le code. Nous avons brièvement discuté des méthodes Where() et OfType(). L'énoncé du problème est expliqué avec un exemple. Après, nous avons discuté de l'algorithme. Enfin, le code et le résultat sont affichés. Nous espérons que cet article vous aidera à accroître vos connaissances et votre compréhension de ce sujet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer