image

Acesse bootcamps ilimitados e +650 cursos

50
%OFF
Juliana Gomes
Juliana Gomes31/10/2023 10:02
Compartilhe

.Count() vs. Length

  • #.NET

Em .NET, `Count()` e `Length` são usados para obter o número de elementos em uma coleção, mas eles são aplicados de maneira diferente, dependendo do tipo de coleção que você está usando.

1. `Count()`:

  •   `Count()` é um método que geralmente está disponível em tipos de coleções que implementam a interface `IEnumerable<T>`, como listas (`List<T>`), conjuntos (`HashSet<T>`), dicionários (`Dictionary<TKey, TValue>`), etc.
  •    `Count()` é uma operação mais genérica e pode ser usada em várias coleções para contar o número de elementos nela.
  •   Como é um método, `Count()` geralmente implica um custo computacional um pouco maior do que acessar a propriedade `Length` diretamente, especialmente para coleções grandes. Isso ocorre porque um método envolve uma chamada de função, enquanto uma propriedade como `Length` é uma operação de acesso direto aos dados da coleção.
  •   Exemplo: 
List<int> numeros = new List<int> { 1, 2, 3, 4, 5 };

int quantidade = numeros.Count();

2. `Length`:

  •   `Length` é uma propriedade que está disponível em tipos de arrays unidimensionais (como `int[]`, `string[]`, etc.).
  •   `Length` é uma propriedade e não um método. Ela fornece o número de elementos em um array e é uma operação de acesso direto aos dados da coleção.
  •   Por não ser um método, acessar `Length` geralmente é mais eficiente do que chamar `Count()` para arrays, já que não há sobrecarga associada à chamada de um método.
  •   Exemplo:
int[] numeros = { 1, 2, 3, 4, 5 };

int quantidade = numeros.Length;

Portanto, se você está trabalhando com arrays, use `Length` para obter o número de elementos. Se você está trabalhando com outras coleções (como listas, conjuntos, etc.), use o método `Count()` para obter o número de elementos.

Compartilhe
Recomendados para você
Microsoft 50 Anos - Prompts Inteligentes
Microsoft 50 Anos - GitHub Copilot
Microsoft 50 Anos - Computação em Nuvem com Azure
Comentários (0)