En LINQ, la proyección es una operación que convierte un objeto en la nueva forma que contiene solo aquellas propiedades que se utilizarán posteriormente. Mediante el uso de la proyección, un desarrollador puede crear un nuevo tipo que se construye a partir de cada objeto. Se le permite proyectar propiedades y realizar funciones matemáticas en ellas, y también puede proyectar el objeto original sin transformarlo.
En LINQ, están disponibles las siguientes operaciones de proyección:
- Seleccione
- seleccionarmuchos
Seleccionar Operador
El operador de selección devuelve la colección IEnumerator, que contiene los elementos en función de una función de transformación. O, en otras palabras, podemos decir que el operador de selección se usa cuando desea seleccionar un solo valor de la colección dada.
Seleccionar usando la sintaxis de consulta: en LINQ, se usa un operador Seleccionar para crear una consulta usando la sintaxis de consulta. En la expresión de consulta, la expresión termina con la cláusula Select o GroupBy. En una consulta, el operador de selección se usa para devolver la colección de la clase personalizada o tipo anónimo que incluye las propiedades según la necesidad del usuario y también se usa para manipular el resultado según la necesidad del usuario. Seleccione la sintaxis de consulta de soporte del operador tanto en C# como VB.NET
en el idioma, como se muestra en los siguientes ejemplos:
Ejemplo:
// C# program to find the name // of the employee using System; using System.Linq; using System.Collections.Generic; // Employee details public class Employee { public int emp_id { get; set; } public string emp_name { get; set; } public string emp_gender { get; set; } public string emp_hire_date { get; set; } public int emp_salary { get; set; } } class GFG { // Main method static public void Main() { List<Employee> emp = new List<Employee>() { new Employee() { emp_id = 209, emp_name = "Anjita", emp_gender = "Female", emp_hire_date = "12/3/2017", emp_salary = 20000 }, new Employee() { emp_id = 210, emp_name = "Soniya", emp_gender = "Female", emp_hire_date = "22/4/2018", emp_salary = 30000 }, new Employee() { emp_id = 211, emp_name = "Rohit", emp_gender = "Male", emp_hire_date = "3/5/2016", emp_salary = 40000 }, new Employee() { emp_id = 212, emp_name = "Supriya", emp_gender = "Female", emp_hire_date = "4/8/2017", emp_salary = 40000 }, new Employee() { emp_id = 213, emp_name = "Anil", emp_gender = "Male", emp_hire_date = "12/1/2016", emp_salary = 40000 }, new Employee() { emp_id = 214, emp_name = "Anju", emp_gender = "Female", emp_hire_date = "17/6/2015", emp_salary = 50000 }, }; // Query to find the name of the employee // Using select in Query Syntax var res = from e in emp select e.emp_name; foreach(var val in res) { Console.WriteLine("Employee Name: {0}", val); } } }
Employee Name: Anjita Employee Name: Soniya Employee Name: Rohit Employee Name: Supriya Employee Name: Anil Employee Name: Anju
Seleccionar usando la sintaxis del método: en la sintaxis del método, el operador de selección es opcional, puede usarlo para dar forma a los datos. El método Select está presente tanto en la clase Queryable como en la Enumerable. Admite la sintaxis de métodos en los lenguajes C# y VB.Net. El uso del método de selección se muestra en los siguientes ejemplos.
Ejemplo:
// C# program to find the name // and id of the employee using System; using System.Linq; using System.Collections.Generic; // Employee details public class Employee { public int emp_id { get; set; } public string emp_name { get; set; } public string emp_gender { get; set; } public string emp_hire_date { get; set; } public int emp_salary { get; set; } } class GFG { // Main method static public void Main() { List<Employee> emp = new List<Employee>() { new Employee() { emp_id = 209, emp_name = "Anjita", emp_gender = "Female", emp_hire_date = "12/3/2017", emp_salary = 20000 }, new Employee() { emp_id = 210, emp_name = "Soniya", emp_gender = "Female", emp_hire_date = "22/4/2018", emp_salary = 30000 }, new Employee() { emp_id = 211, emp_name = "Rohit", emp_gender = "Male", emp_hire_date = "3/5/2016", emp_salary = 40000 }, new Employee() { emp_id = 212, emp_name = "Supriya", emp_gender = "Female", emp_hire_date = "4/8/2017", emp_salary = 40000 }, new Employee() { emp_id = 213, emp_name = "Anil", emp_gender = "Male", emp_hire_date = "12/1/2016", emp_salary = 40000 }, new Employee() { emp_id = 214, emp_name = "Anju", emp_gender = "Female", emp_hire_date = "17/6/2015", emp_salary = 50000 }, }; // finding the name and id of the // employee Using select method var res = emp.Select(a => new { ID = a.emp_id, Name = a.emp_name }); foreach(var val in res) { Console.WriteLine("Employee Name : {0} Employee ID : {1}", val.Name, val.ID); } } }
Employee Name : Anjita Employee ID : 209 Employee Name : Soniya Employee ID : 210 Employee Name : Rohit Employee ID : 211 Employee Name : Supriya Employee ID : 212 Employee Name : Anil Employee ID : 213 Employee Name : Anju Employee ID : 214
Publicación traducida automáticamente
Artículo escrito por ankita_saini y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA