Here In this example we count only int elements greater than 2. The values 3, 4 and 5—three elements—are greater than 2.
using System;
using System.Linq;
int[] array = { 1, 2, 3, 4, 5 };
// ... Count only elements greater than 2.
int greaterThanTwo = array.Count(element => element > 2);
Console.WriteLine(greaterThanTwo);3
Query example. To continue, the Count() extension is found in System.Linq. It acts upon IEnumerable—so it works on Lists and arrays, even when those types have other counting properties.
Part 1 When Count() is called on Lists or arrays, you lose some performance over calling the direct properties available.
Part 2 If you use a LINQ query expression (or have an IEnumerable instance) Count is an effective option.
using System;
using System.Collections.Generic;
using System.Linq;
int[] array = { 1, 2, 3 };
// Part 1: don't use Count() like this.// ... Use Length instead.
Console.WriteLine(array.Count());
List<int> list = new List<int>() { 1, 2, 3 };
Console.WriteLine(list.Count());
// Part 2: use Count on query expression.
var result = from element in array
orderby element descending
select element;
Console.WriteLine(result.Count());3
3
3
In benchmarks, the Length and Count properties are compared to the Count extension method. Using a property on a collection is much faster than Count.
A summary. The Count() method gets the number of elements in an IEnumerable collection. It enumerates the elements. This often is an inefficient way to get the element count of collections.
Dot Net Perls is a collection of pages with code examples, which are updated to stay current. Programming is an art, and it can be learned from examples.
Donate to this site to help offset the costs of running the server. Sites like this will cease to exist if there is no financial support for them.
Sam Allen is passionate about computer languages, and he maintains 100% of the material available on this website. He hopes it makes the world a nicer place.
This page was last updated on May 3, 2023 (simplify).