Los operadores de elementos se utilizan para devolver un elemento único o específico de la secuencia o colección. Por ejemplo, en una escuela cuando preguntamos, ¿quién es el director? Entonces habrá una sola persona que será el director de la escuela. Entonces el número de alumnos es una colección y el principal es el único resultado que sale de la colección.
El operador de consulta estándar de LINQ admite 8 tipos de operadores de elementos:
- elemento en
- ElementAtOrDefault
- Primero
- primero o predeterminado
- Ultimo
- último o predeterminado
- Único
- Único o predeterminado
Operador ElementAtOrDefault
El operador ElementAtOrDefault se usa para devolver un elemento del índice particular de la colección o secuencia dada y proporciona un valor predeterminado si el índice está fuera de rango. Supera el problema ArgumentOutOfRangeException del operador ElementAt .
- No es compatible con la sintaxis de consulta en los lenguajes C# y VB.Net.
- Admite la sintaxis del método en los lenguajes C# y VB.Net.
- Está presente tanto en la clase Queryable como en la Enumerable.
- No lanza una ArgumentOutOfRangeException cuando el índice está fuera de rango.
- El valor predeterminado de los tipos de referencia y los tipos anulables es nulo.
Ejemplo 1:
// C# program to illustrate the use // of ElementAtOrDefault operator using System; using System.Linq; class GFG { static public void Main() { // Data source string[] sequence1 = {"Dog", "Cat", "Goat", "Parrot"}; int[] sequence2 = {112, 44, 55, 66, 77, 777, 56}; // Get the element at the given index // Using ElementAtOrDefault function var result1 = sequence1.ElementAtOrDefault(2); Console.WriteLine("Element at index 2 in sequence 1: {0}", result1); var result2 = sequence1.ElementAtOrDefault(4); Console.WriteLine("Element at index 4 in sequence 1: {0}", result2); var result3 = sequence1.ElementAtOrDefault(6); Console.WriteLine("Element at index 6 in sequence 1: {0}", result3); var result4 = sequence2.ElementAtOrDefault(2); Console.WriteLine("Element at index 2 in sequence 2: {0}", result4); var result5 = sequence2.ElementAtOrDefault(5); Console.WriteLine("Element at index 5 in sequence 2: {0}", result5); var result6 = sequence2.ElementAtOrDefault(8); Console.WriteLine("Element at index 8 in sequence 2: {0}", result6); } }
Element at index 2 in sequence 1: Goat Element at index 4 in sequence 1: Element at index 6 in sequence 1: Element at index 2 in sequence 2: 55 Element at index 5 in sequence 2: 777 Element at index 8 in sequence 2: 0
Ejemplo 2:
// C# program to find the // 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}, }; // Query to find the ID of // the employee at index 3 // Using ElementAtOrDefault method var res = emp.Select(e => e.emp_id).ElementAtOrDefault(3); Console.WriteLine("Employee ID: {0}", res); } }
Employee ID: 212
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