Programa C# para encontrar los números dobles negativos de la lista de objetos usando LINQ

Dada una lista de objetos, necesitamos encontrar el doble negativo de la lista de objetos, esta tarea se puede realizar usando el método OfType() junto con el método Where() . El método OfType() se usa para filtrar los elementos de un IEnumerable en función de un tipo específico. O, en otras palabras, este método se utiliza para filtrar la fuente de la lista o la secuencia según su capacidad para convertir un elemento de una colección en un tipo específico. Lanzará una ArgumentNullException si la fuente dada es nula.

Sintaxis:

public static System.Collections.Generic.IEnumerable<TResult> OfType<TResult>(esta fuente System.Collections.IEnumerable);

El método Where() se usa para filtrar el valor según la función de predicado. O podemos decir que devuelve los valores de la secuencia o lista dada de acuerdo con la condición o criterio dado. 

Sintaxis:

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

Ejemplo:

Input  : ["sai", 100, "mohan", -18.0, -30.2, 200, "rajesh"]
Output : [-18.0, -32.2]

Input  : ["raju", -345.0, 18.3 , "mohan", -18.0, 193, -30.2, 200, "rajesh"]
Output : [-345.0, -18.0, -32.2]

Acercarse:

  • Crear una lista de objetos.
List<object> objList = new List<object>()
  • Ahora, utilizando el método OfType<double>() y el método Where(), seleccione los valores dobles que son menores que cero, es decir, números dobles negativos.
List<double> result = objList.OfType<double>().Where(n => n < 0).ToList();
  • Imprime los números dobles negativos usando el bucle foreach.
foreach (double negative in result)
{
    Console.Write(negative + "  ");
} 

C#

// C# program to find the negative double
// numbers from the given list of objects
using System;
using System.Linq;
using System.Collections.Generic;
  
class GFG{
  
static void Main(string[] args)
{
      
    // Creating and initialize the list of object
    List<object> objList = new List<object>(){
    "raju", -345.0, 18.3 , "mohan", -18.0,
    193, -30.2, 200, "rajesh" };
  
    // Filtering the negative double objects
    // from objList and convert to list
    List<double> result = objList.OfType<double>().Where(n => n < 0).ToList();
  
    // Display the output list
    Console.Write("Negative numbers are:");
    foreach (double negative in result)
    {
        Console.Write(negative + "  ");
    }
}
}

Producción:

Negative numbers are:-345  -18  -30.2  

Publicación traducida automáticamente

Artículo escrito por pulamolusaimohan y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *