Contar los elementos de la lista en C#

Syed Hassan Sabeeh Kazmi 12 octubre 2023
  1. Usa la Propiedad List.Count para Contar los Elementos de una Lista en C#
  2. Usa el Método List.Count() para Contar los Elementos de una Lista en C#
Contar los elementos de la lista en C#

En este tutorial, aprenderá las dos formas principales de contar elementos de una lista en C#. La primera forma es usando la propiedad List.Count, y la otra es usando el método LINQ List.Count().

Un beneficio de rendimiento teórico de la propiedad Count es pasar por alto la verificación de tipo. Por otro lado, el método Count() devuelve la propiedad subyacente Count ya que revela si un objeto es ICollection (genérico) o no.

El método List.Count() es extremadamente genérico, reutilizable y mantenible ya que cuenta los elementos de una lista. Sin embargo, el rendimiento es el único factor a la hora de elegir otros métodos para un propósito similar.

En general, el método Count() es extremadamente pequeño en programación, ya que puede funcionar en cualquier IEnumerable<> y se puede probar que está extremadamente optimizado para detectar si existe una propiedad Count y, de ser así, usarla.

Usa la Propiedad List.Count para Contar los Elementos de una Lista en C#

La propiedad List<T>.Count cuenta los elementos contenidos en la List<T>. Si el conteo excede la capacidad de una lista al agregar los elementos, su capacidad aumenta automáticamente al reasignar la matriz interna.

En C#, puede completar una lista estáticamente colocando elementos entre etiquetas, programáticamente o desde varios objetos de origen de datos como matrices, SqlDataSource, etc. Puede acceder a la propiedad Count de una lista como ListName.Count desde un control de lista y devolver un valor entero.

Código de ejemplo:

// remember to include `System.Collections.Generic` namespace to your C# project
using System;
using System.Collections.Generic;

public class countListElemenets {
  public static void Main(string[] args) {
    // create a `expList` list of strings
    List<string> expList = new List<string>();

    // add elements in the `expList` list
    for (int i = 1; i < 10; i++) {
      int j = i * 2;
      string di = j.ToString();
      expList.Add(di);
    }

    // count the elements of `expList` list
    Console.WriteLine("Total elements of the list: " + expList.Count);
  }
}

Producción :

Total elements of the list: 9

En C#, se puede cambiar el tamaño de una lista dinámicamente y, dado que acepta valores nulos como elementos válidos, permite la duplicación de valores. Si los valores de los elementos de la lista se vuelven iguales a su capacidad, puede ampliar su capacidad reasignando la matriz interna.

La clase List en C# pertenece al espacio de nombres System.Collection.Generic y representa una lista de elementos/objetos a los que se puede acceder por índice. Puede proporcionar métodos para buscar, ordenar y manipular listas, ya que las listas pueden crear una colección de diferentes tipos de datos.

Usa el Método List.Count() para Contar los Elementos de una Lista en C#

En LINQ, el método de extensión Count() se puede utilizar para obtener el recuento de los elementos de la lista. Puede implementar este método desde LINQ en su aplicación C# para maximizar su eficiencia de conteo.

Es un método de extensión de iEnumerable incluido en el espacio de nombres System.Linq.Enumerable. Lo interesante de este método es su facilidad de uso ampliada que permite su uso con cualquier colección o una clase personalizada que implemente la interfaz iEnumerable.

Como una lista en C# implementa iEnumerable, el método List.Count() se puede usar con este tipo de colección. Generalmente, su resultado devuelto será un int o un bool, y necesita usar el método LongCount() para devolver un largo.

El método Count() toma un parámetro de delegado de predicado de tipo T y devuelve un número entero que indica el número de elementos en la secuencia de origen que cumplen los criterios.

Código de ejemplo:

// remember to include `System.Collections.Generic` and `System.Linq` namespace to your C# project
using System;
using System.Linq;
using System.Collections.Generic;

public class countListElemenets {
  public static void Main(string[] args) {
    // create a `expList` list of strings
    List<string> expList = new List<string>();

    // add elements in the `expList` list
    for (int i = 1; i < 10; i++) {
      int j = i * 2;
      string di = j.ToString();
      expList.Add(di);
    }

    // count the elements of `expList` list
    int result = expList.Count();

    // display the result
    Console.WriteLine("Total elements of the list: " + result);
  }
}

Producción :

Total elements of the list: 9

Puede definir criterios para que el método Count() solo cuente los elementos que cumplen los criterios. Utilice <fuente>.Dónde(<condición>).Cuenta() para aplicar una condición al método Cuenta().

Para obtener el conteo de un solo elemento, filtre la lista usando el método Dónde() para obtener valores coincidentes con el objetivo especificado, y luego obtenga el conteo invocando el método Contar().

Código de ejemplo:

// remember to include `System.Collections.Generic` and `System.Linq` namespace to your C# project
using System;
using System.Linq;
using System.Collections.Generic;

public class countListElemenets {
  public static void Main(string[] args) {
    // create a `expList` list of strings
    List<float> expList = new List<float>();

    // add elements in the `expList` list
    for (int i = 1; i < 10; i++) {
      float j = i * 2;
      expList.Add(j);
    }

    // count the elements of the `expList` list in regards to the `Where` condition
    int result = expList.Where(x => x.Equals(8)).Count();

    // display the result
    Console.WriteLine("Total elements of the list: " + result);
  }
}

Producción :

Total elements of the list: 1

En C#, la lista facilita la vida ya que tiene un tamaño dinámico, con muchos métodos y propiedades, y un tipo genérico, que requiere < y > en su declaración. En este tutorial, ha aprendido las formas extremadamente optimizadas de contar los elementos de una lista en C#.

Syed Hassan Sabeeh Kazmi avatar Syed Hassan Sabeeh Kazmi avatar

Hassan is a Software Engineer with a well-developed set of programming skills. He uses his knowledge and writing capabilities to produce interesting-to-read technical articles.

GitHub

Artículo relacionado - Csharp List