En LINQ, un operador Count está disponible para contar los elementos de la secuencia o colección dada. Pero hay un inconveniente del operador de conteo, es decir, solo funciona para MaxValue, es decir, 2147483647 , si intenta más que este valor, arrojará una OverflowException . Entonces, este inconveniente se supera en el operador LongCount. Le permite contar los elementos presentes en la gran colección o secuencia, voluntariamente solo aquellos elementos que satisfacen la función de predicado dada. O en otras palabras, devuelve un valor Int64 que representa el número de elementos en una secuencia o colección. Este método se sobrecarga de dos maneras diferentes:
- LongCount<TSource>(IEnumerable<TSource>, Func<TSource, Boolean>): este método se usa para devolver un valor Int64 que representa cuántos elementos en una secuencia satisfacen la condición dada.
- LongCount<TSource>(IEnumerable<TSource>): este método se usa para devolver un valor Int64 que representa el número total de elementos presentes en la secuencia o colección dada.
Puntos importantes:
- No es compatible con la sintaxis de consulta en los lenguajes C# y VB.Net.
- Puede soportar la sintaxis de métodos en lenguajes C# y VB.Net.
- Está presente tanto en la clase Queryable como en la Enumerable.
- Lanzará una ArgumentNullException, si la fuente o el predicado es nulo.
- Lanzará una OverflowException, si el número de elementos coincidentes excede MaxValue, es decir, 9223372036854775807 .
Ejemplo 1:
// C# program to illustrate the // use of LongCount method using System; using System.Linq; class GFG { // Main Method static public void Main() { // Data source string[] sequence = {"Geeks", "gfg", "GeeksforGeeks", "GFG", "C#", "Java", "Python", "WelcomeToGeeksforGeeks"}; // Count how much elements present in // the sequence using LongCount function long res = sequence.LongCount(seq => seq.Length > 3); Console.WriteLine(res); } }
5
Ejemplo 2:
// C# program to find the total // number of employees 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 total // number of employees // using LongCount method long res = emp.Select(e => e.emp_id).LongCount(); Console.WriteLine("How many employee present"+ " in the company: {0}", res); } }
How many employee present in the company: 6
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