Programa C# para producir una secuencia filtrada de elementos que contienen solo una propiedad de datos dados

Dada una lista que contiene los detalles de los estudiantes, ahora producimos una secuencia filtrada de elementos que contienen solo una propiedad de cada Estudiante. Así que usamos el siguiente método de LINQ para resolver el problema dado:

1. Método Aggregate() : este método se utiliza para realizar operaciones de agregación en los valores de una colección. En palabras sencillas, este método se utiliza para implementar una serie de operaciones para cada uno de los elementos de la colección especificada mediante el seguimiento de las acciones que se han realizado antes. Por ejemplo, la función de agregación se utiliza para calcular la precipitación anual que se produjo en 2021 en sintonía con las lecturas recopiladas durante todo el año. Otro ejemplo es la función de producto que se usa para calcular el producto de los valores especificados en una array.

Sintaxis:

resultado = colección.Agregado((elemento1, elemento2) => elemento1 operación elemento2);

2. Cláusula de selección : la cláusula de selección se usa específicamente para devolver la colección IEnumerator y esta colección contiene una serie de elementos que se basan en una función de transformación. En palabras simples, podemos decir que se debe usar un operador de selección si el programador quiere elegir o seleccionar un solo valor de la colección dada. Para una expresión de consulta, la cláusula select qué tipo de valores se deben seleccionar cuando se realiza una consulta. Tenga en cuenta que se requiere que una expresión de consulta termine con una cláusula de grupo o una cláusula de selección.

Sintaxis:

 colección IEnumerable<int> =

           del elemento en la colección

           donde expresión

           seleccionar elemento;

Aquí, la colección representa una colección IEnumerable y expresión representa una expresión de condición.

Ejemplo: en este programa de C#, estamos produciendo una secuencia filtrada de elementos que tienen solo una propiedad de cada Estudiante mediante el uso de la Cláusula Select LINQ. Además, estamos seleccionando solo aquellos elementos que cumplen ciertas condiciones. Para ello, hemos utilizado la interfaz IEnumerable para verificar la condición de que el valor de student.Roll_No debe ser mayor que 2. Es posible a través de la iteración sobre una colección no genérica.

C#

// C# program to producing a filtered sequence of
// elements that have only one property of each 
// Student by using the Select Clause LINQ
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
  
// Public class GFG
class GFG{
  
// Student class
// Declared using public access specifier
// This class conatins the detail of the students 
public class Student {
    public string First
    {
        get;
        set;
    }
    public string Last
    {
        get;
        set;
    }
    public int Roll_No
    {
        get;
        set;
    }
    public List<int> Marks;
    public Information GetInformation(GFG gfg,
                                      int roll_no)
    {
        Information allinfo = (from ci in gfg.contactList where ci.Roll_No
                            == roll_no select ci).FirstOrDefault();
  
        return allinfo;
    }
  
    public override string ToString()
    {
        return First + "" + Last + " :  " + Roll_No;
    }
}
  
// Information class
// Declared using public access specifier
// This class conatins the personal details 
// of the students
public class Information
{
    public int Roll_No
    {
        get;
        set;
    }
    public string Email
    {
        get;
        set;
    }
    public string Phone
    {
        get;
        set;
    }
    public override string ToString()
    {
        return Email + "," + Phone;
    }
}
  
// This class contains the score of the students
public class ScoreInfo
{
    public double Average
    {
        get;
        set;
    }
    public int Roll_No
    {
        get;
        set;
    }
}
List<Student> students = new List<Student>() {
    
    // Assigning students information
    new Student{ First = "Bhuwanesh", Last = "Nainwal", Roll_No = 1,
                 Marks = new List<int>(){ 97, 92, 81, 60 } },
    new Student{ First = "Harshit", Last = "Nainwal", Roll_No = 2,
                 Marks = new List<int>(){ 75, 84, 91, 39 } },
    new Student{ First = "Shivani", Last = "Mehta", Roll_No = 3,
                 Marks = new List<int>(){ 88, 94, 65, 91 } },
    new Student{ First = "Neha", Last = "Singh", Roll_No = 4,
                 Marks = new List<int>(){ 97, 89, 85, 82 } },
};
  
List<Information> contactList = new List<Information>() {
    new Information{ Roll_No = 111, Email = "Bhuwanesh@abc.com",
                     Phone = "6131341379" },
    new Information{ Roll_No = 112, Email = "Harshit@abc.com",
                     Phone = "2131341379" },
    new Information{ Roll_No = 113, Email = "Shivani@abc.com",
                     Phone = "1234561456" },
    new Information{ Roll_No = 114, Email = "Neha@abc.com",
                     Phone = "5131341379" }
};
  
// Driver code
static public void Main()
{
      
    // Instantiate GFG object
    GFG gfg = new GFG();
    
    // Using IEnumerable
    IEnumerable<String> studentQuery2
        = from student in gfg.students where student.Roll_No >
          2 select student.Last;
            
    // Displaying the result
    Console.WriteLine("student Query:");
    foreach(string s in studentQuery2)
    {
        Console.WriteLine(s);
    }
    Console.ReadLine();
}
}
Producción

student Query:
Mehta
Singh

Publicación traducida automáticamente

Artículo escrito por bhuwanesh 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 *